NodeJS TCP服务器不接收数据

时间:2015-07-23 17:03:29

标签: node.js sockets tcp response

我正在尝试在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 );

除非我在客户端连接时发送换行符并且每次数据事件都有换行符,否则不会触发其他数据事件。我错过了什么吗?我是否必须在每次数据事件时回复某种消息,或者是否可以选择只接收数据而不发送响应?

1 个答案:

答案 0 :(得分:1)

测试确认。问题是我的机器上的原始测试使用的是端口110而不是84.一旦我启动了Symantec Endpoint Protection,我的测试工作得很好。保护程序必须在客户端和服务器之间创建代理,即使在本地连接上也是如此,并充当中继。这就是换行“\ n”成为如此神奇的角色的原因。赛门铁克在我的机器上创建的代理中继期待POP3协议。

感谢你拯救我的理智卢克!