NodeJS TCP 服务器收不到数据
NodeJS TCP Server Does Not Receive Data
我正在尝试在 nodejs v0.12.0 中创建一个简单的只接收套接字服务器,以通过 TCP 接收消息。似乎没有收到任何数据,除非 nodejs 网络服务器在每个数据事件后用换行响应。
var server = net.createServer(function( socket ) {
socket
.setEncoding( 'utf8' )
.on( 'data', function( cData ) {
console.log( 'cData' );
console.log( cData );
// Uncomment this to receive data.
//socket.write( '\n' );
});
// Uncomment this to receive data.
//socket.write( '\n' );
}).listen( 84, '127.0.0.1' );
然后客户这样做...
setInterval( function(){
client.write( 'test\n' );
}, 1000 );
除非我在客户端连接时发送一个换行符,并在每个数据事件中发送一个换行符,否则不会触发进一步的数据事件。我错过了什么吗?我是否必须在每个数据事件中回复某种消息,或者是否可以选择只接收数据而不发送响应?
测试确认。问题是我在我的机器上的原始测试使用的是端口 110 而不是 84。一旦我禁用 Symantec Endpoint Protection 启动,我的测试工作正常。保护程序必须在客户端和服务器之间创建一个代理,甚至在本地连接上,并充当中继。这就是换行符“\n”成为如此神奇的字符的原因。赛门铁克在我的机器上创建的代理中继需要 POP3 协议。
感谢卢克拯救了我的理智!
我正在尝试在 nodejs v0.12.0 中创建一个简单的只接收套接字服务器,以通过 TCP 接收消息。似乎没有收到任何数据,除非 nodejs 网络服务器在每个数据事件后用换行响应。
var server = net.createServer(function( socket ) {
socket
.setEncoding( 'utf8' )
.on( 'data', function( cData ) {
console.log( 'cData' );
console.log( cData );
// Uncomment this to receive data.
//socket.write( '\n' );
});
// Uncomment this to receive data.
//socket.write( '\n' );
}).listen( 84, '127.0.0.1' );
然后客户这样做...
setInterval( function(){
client.write( 'test\n' );
}, 1000 );
除非我在客户端连接时发送一个换行符,并在每个数据事件中发送一个换行符,否则不会触发进一步的数据事件。我错过了什么吗?我是否必须在每个数据事件中回复某种消息,或者是否可以选择只接收数据而不发送响应?
测试确认。问题是我在我的机器上的原始测试使用的是端口 110 而不是 84。一旦我禁用 Symantec Endpoint Protection 启动,我的测试工作正常。保护程序必须在客户端和服务器之间创建一个代理,甚至在本地连接上,并充当中继。这就是换行符“\n”成为如此神奇的字符的原因。赛门铁克在我的机器上创建的代理中继需要 POP3 协议。
感谢卢克拯救了我的理智!