具有持久连接的节点js中的TCP套接字服务器

时间:2018-07-11 07:03:30

标签: javascript node.js sockets socket.io

我在节点js中创建了一个套接字服务器,可以在其中发送一些数据并从服务器接收数据,但是问题是每次关闭连接并为另一个请求创建新的PID时,问题就出在这里。在这里,我的要求是,一旦我的IOT设备连接到服务器,则该连接应保持在该位置,并且我想随时发送,接收数据。 谁能帮我吗? 我在下面发布我的代码

服务器代码

 var net = require('net');

// Create Server instance 
var server = net.createServer(main);  

server.listen(9010, function() {  
  console.log('server listening on %j', server.address());
});

function main(sock) { 
  sock.setEncoding("utf8");

  sock.on('data', function(data) {
    var data = data;
    console.log('Request data is ', data);
    console.log('Says:', data);
    sock.write("responding to client");
    sock.write(' exit');
  });

  sock.on('close',  function () {
    console.log('connection closed');
  });

  sock.on('error', function (err) {
    console.log('Connection error: %s', err.message);
  });
};

客户代码

   var net = require('net');

    //params
    var HOST = 'myhost';
    var PORT = 9010;

    var client = new net.Socket();
    client.connect(PORT, HOST, function() {

        console.log('CONNECTED TO: ' + HOST + ':' + PORT);
        client.write('Hello socket server');
    });

    client.on('data', function(data) {
        console.log('Recieved data: ' + data);
        client.destroy();

    });
    // Add a 'close' event handler for the client socket
    client.on('close', function() {
        console.log('Connection closed');
    });

0 个答案:

没有答案