我在AWS上部署了一个node.js测试应用程序。以下是server.js文件:
var http = require("http");
var net = require("net");
var server=net.createServer(function(socket){
socket.on('connection',function(socket){
console.log('socket connection...');
});
socket.on('data',function(message){
console.log('socket message:'+message);
socket.write('You wrote:'+message);
});
socket.on('error',function(error){
console.log('error on socket message:'+error);
});
}).listen(1024);
/*
http.createServer(function(request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.write(process.env.PORT);
console.log(process.env.PORT);
response.end();
}).listen(8081);
*/
与服务器的Http连接正常。在1024上添加了TCP侦听器的负载均衡器。但是从C#客户端到服务器的TCP连接失败,表示超时错误。我在localhost上测试了相同的代码,它工作正常。 AWS上是否需要更多配置用于套接字连接?
答案 0 :(得分:0)
您需要end()
您的关联和send a FIN package
var server=net.createServer(function(socket){
socket.on('connection',function(socket){
console.log('socket connection...');
});
socket.on('data',function(message){
console.log('socket message:'+message);
socket.write('You wrote:'+message);
socket.end(); // <-- :)
});
socket.on('error',function(error){
console.log('error on socket message:'+error);
});
}).listen(1024);