我有一个使用 net.connect 创建的 node.js TCP 连接,它使用 Event:'data' 回调来侦听传入数据。如果我几乎同时收到两条或更多条消息,我会丢失所有消息,但第一条除外。我在 Event:'data' 回调中所做的处理会导致我错过传入的消息吗?
myConnection = net.connect(18000, 192.168.1.50);
myConnection.on('data', function(data) {
console.log("Received data");
//time consuming process here (more than a few milliseconds)
});
如果两个或多个 TCP 消息(每个小于 200 字节)快速(在几毫秒内)发送到我的节点应用程序,则控制台仅打印一条消息:
Received data
运行 onData 回调时,Node 是否丢失了第二条和以后的消息?节点是否对消息进行排队,所以即使我在回调中,后续消息也会等待读取?发送我的 Node 应用程序消息的程序有可能没有正确发送它们,但我看过它,它似乎正在发送它们。