我有一个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.listen(PORT,HOST);
var client = new net.Socket();
client.connect(PORT,HOST);
client.write(“ call 1”,“ utf8”,()=> {
client.write(“ call 2”);
});
当我运行它时,我得到输出:
服务器收到:呼叫1呼叫2
根据此处的文档 https://nodejs.org/api/net.html# net_socket_write_data_encoding_callback :
...最终写出数据时将执行可选的回调参数...
数据最终被写出是什么意思?如何使服务器产生:
服务器收到:呼叫1
服务器收到:呼叫2
谢谢, 丁哥
答案 0 :(得分:1)
您正在处理流。它对邮件的开头和结尾一无所知。
\n
:client.write("call 2\n");
)答案 1 :(得分:0)
您可以为第二个事件设置超时。
client.write("call 1", "utf8")
setTimeout(() => {
client.write("call 2");
}, 100);