NodeJS TCP服务器不接收数据

owfi6suc  于 5个月前  发布在  Node.js
关注(0)|答案(2)|浏览(70)

我试图在nodejs v0.12.0中创建一个简单的只接收的socket服务器,通过TCP接收消息。似乎没有数据被接收,除非nodejs net服务器在每个数据事件后用换行符响应。

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 );


除非我在客户端连接时发送一个换行符,并在每个数据事件中发送一个换行符,否则不会触发进一步的数据事件。我错过了什么吗?我必须在每个数据事件中回复某种消息,还是有一个选项可以只接收数据而不发送响应?

zte4gxcn

zte4gxcn1#

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

dojqjjoe

dojqjjoe2#

你可以改变127.0.0.1到你的ip地址公共,在部分听你的代码。它为我工作

相关问题