【问题标题】:NodeJS server socket - read client msg server.on('data')NodeJS 服务器套接字 - 读取客户端消息 server.on('data')
【发布时间】:2020-01-18 04:51:35
【问题描述】:

我在 NodeJS 中找到了关于 clinet/server socket programming 的两个链接: TCP Example & NetJS; 所以我这样配置我的微服务器:

const SOCKETServer = net.createServer((socket) => {
socket.write('Server is listening!\r\n');
socket.pipe(socket);
});
SOCKETServer.on('data', (data) => {
     console.log('CLIENT: ' + data.toString());
});
SOCKETServer.listen(5000, '127.0.0.1');

我的客户也是这样的:

const net = require('net');
const client = new net.Socket();
client.connect(5000, '127.0.0.1', () => {
    setTimeout(sender, 1500, null);
});
client.on('data', (data) => {
    console.log('SERVER: ' + data);
});
let sender = () => {
    client.write('Hello Server\r\n');
    setTimeout(sender, 1500, null);
};

代码运行良好,我可以在 client 中从 server 获取数据。我还可以从 clientserver 发送数据,并且我可以在socket.pipe(socket) 的客户端原因中读取并查看其反馈。问题是我无法在 serverdata 事件中读取任何内容。 这里:

SOCKETServer.on('data', (data) => {
    console.log('CLIENT: ' + data.toString());
});

【问题讨论】:

    标签: node.js sockets


    【解决方案1】:

    net.Server 没有data 事件。 您应该从createServer 中的传入套接字读取

    const SOCKETServer = net.createServer((socket) => {
        socket.write('Server is listening!\r\n');
    
        socket.on('data', function(data) {
            console.log('CLIENT:', data.toString());
        })
    
        socket.pipe(socket);
    });
    

    【讨论】:

      猜你喜欢
      • 2014-12-15
      • 2013-04-01
      • 2015-10-08
      • 1970-01-01
      • 2016-03-18
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-02
      相关资源
      最近更新 更多