NodeJS TCP 服务器未收到数据

问题描述 投票:0回答:2

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

除非我在客户端连接时发送换行并针对每个数据事件发送换行,否则不会触发更多数据事件。我错过了什么吗?我是否必须对每个数据事件回复某种消息,或者是否可以选择仅接收数据而不发送响应?

node.js sockets tcp response
2个回答
1
投票

测试确认。问题是我在计算机上的原始测试使用端口 110 而不是 84。一旦我禁用 Symantec Endpoint Protection 启动,我的测试就运行得很好。保护程序必须在客户端和服务器之间(甚至在本地连接上)创建代理,并充当中继。这就是为什么换行“ ” 变成了一个如此神奇的角色。赛门铁克在我的机器上创建的代理中继需要 POP3 协议。

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


0
投票

您可以将 127.0.0.1 更改为您的公开 IP 地址,在代码中的“监听”部分中。它对我有用

© www.soinside.com 2019 - 2024. All rights reserved.