刷新node.js socker写入

刷新node.js socker写入,node.js,sockets,Node.js,Sockets,我有一个node.js示例,其中一个客户端套接字向服务器进行两次写入。我正在尝试使用socket.write和回调来确保服务器逐个接收写入操作: var net = require('net'); const HOST = '127.0.0.1'; const PORT = 7000; var server = new net.Server(socket => { socket.on('data', data => { console.log("Serve

我有一个node.js示例,其中一个客户端套接字向服务器进行两次写入。我正在尝试使用socket.write和回调来确保服务器逐个接收写入操作:

var net = require('net');

const HOST = '127.0.0.1';
const PORT = 7000;

var server = new net.Server(socket => {
    socket.on('data', data => {
        console.log("Server received: " + data);
    })
});
server.listen(PORT, HOST);

var client = new net.Socket();
client.connect(PORT, HOST);
client.write("call 1", "utf8", () => {
    client.write("call 2");
});
当我运行它时,我得到输出:

Server received: call 1call 2
根据这里的文件:

。。。当数据最终被写出时,将执行可选的回调参数

最终写出的数据意味着什么?如何使服务器产生:

Server received: call 1
Server received: call 2 
谢谢,
丁科

您正在处理一条流。它不知道任何关于消息开头和结尾的信息

  • 您需要添加分隔符(例如
    \n
    client.write(“call 2\n”);
  • 您需要在接收器上按分隔符分割数据(例如节点分割包)

  • 您可以为第二个事件设置超时

    client.write("call 1", "utf8")
    setTimeout(() => {
       client.write("call 2");
     }, 100);