Javascript 具有持久连接的节点js中的TCP套接字服务器
我在NodeJS中创建了一个套接字服务器,在这里我可以发送一些数据并从服务器接收数据,但问题是每次连接关闭时,都会为另一个请求创建新的PID。这里我的要求是,一旦我的物联网设备连接到服务器,那么连接应该保持在那里,我想随时发送、接收数据。 有人能帮我吗? 我把我的代码贴在下面 服务器代码Javascript 具有持久连接的节点js中的TCP套接字服务器,javascript,node.js,sockets,socket.io,Javascript,Node.js,Sockets,Socket.io,我在NodeJS中创建了一个套接字服务器,在这里我可以发送一些数据并从服务器接收数据,但问题是每次连接关闭时,都会为另一个请求创建新的PID。这里我的要求是,一旦我的物联网设备连接到服务器,那么连接应该保持在那里,我想随时发送、接收数据。 有人能帮我吗? 我把我的代码贴在下面 服务器代码 var net = require('net'); // Create Server instance var server = net.createServer(main); server.lis
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');
});
WebSocket不是原始TCP/IP套接字。名称“WebSocket”指的是(就像HTTP指的是特定的协议名称一样)。除非您的问题与协议有关,否则请不要使用WebSocket标记。为什么
var HOST='myhost'
?您不是在使用localhost
(同一台机器)进行测试吗?var HOST='myhost'这里我使用的是托管套接字服务器的myhost,即socket.mydomain.com。