Nodejs http服务器和网络服务器之间的通信

时间:2016-05-30 08:08:48

标签: node.js sockets http

在这里,我在同一个文件上有一个http服务器和一个网络服务器。网络服务器连接到Arduino。我想在http服务器网站上显示从Arduino收到的数据。此外,当在网站上按下按钮时,我想通过网络服务器将一些数据发送到arduino。我怎么能这样做。

var http = require("http");

var url = require('url');

var fs = require('fs');

var ip = require('ip');

var net = require('net');

var colors = require('colors');

var formidable = require('formidable');



var HOST = ip.address();//my IP address

var HTTP_PORT = 4321;

var NET_PORT = 1234;

var NAME;

var backButton;



var _p1 = '<form role="form" action="enext" method="post" enctype="multipart/form-data">'

    + '<h1>'

    + '=== Arduino Data Online ==='

    + '</h1><br><h2>'

    + 'Arduino data:  ';

var _msg = 'sock data';

var _p2 = '</h2><br><br>'

    + '<h3>'

    + 'Press NEXT after fp success'

    + '</h3><br><b>'

    + '<button type="submit">'

    + 'NEXT'

    + '</button></form>';



//socket

function func(sock) {

    console.log(colors.cyan('CONNECTED: ' + sock.remoteAddress + ':' + sock.remotePort));



    // Add a 'data' event handler to this instance of socket

    sock.on('data', function (data) {

        ////========

        console.log(data);



    });



    // Add a 'close' event handler to this instance of socket

    sock.on('close', function (data) {

        console.log(colors.cyan('CLOSED: ' + sock.remoteAddress + ' ' + sock.remoteNET_PORT));

        console.log("");

        httpserver.close();

    });



    sock.on('error', function (data) {

        console.log(colors.magenta("clnt error"));

        httpserver.close();

    });



}



net.createServer(func).listen(NET_PORT, HOST);

console.log(colors.yellow('Server listening on ' + HOST + ':' + NET_PORT));



var httpserver = http.createServer(function (request, response) {

    var path = url.parse(request.url).pathname;

    console.log('CONNECTED');

    console.log(path);

    switch (path) {

        case '/':

            response.writeHead(200, { "Content-Type": "text/html" });

            response.write(_p1, "utf8");

            response.write(_msg, "utf8");

            response.write(_p2, "utf8");

            response.end();

            break;



        default:

            response.writeHead(404);

            response.write("opps this doesn't exist - 404");

            response.end();

            break;

    }

});



httpserver.listen(HTTP_PORT, HOST);

console.log('http://Server @ ' + HOST + ':' + HTTP_PORT);

0 个答案:

没有答案