0
我有一個使用net.connect創建的node.js TCP連接,它使用Event:'data'回調來監聽傳入數據。如果我幾乎在同一時間收到兩封或更多封郵件,除第一封郵件外,我都會丟失它們。我在事件中處理的事情:'data'回調會導致我錯過傳入的消息嗎?是我的node.js網絡「事件:數據」回調阻止並阻止新的TCP消息接收?
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回調?節點是否排隊消息,所以即使我在回調中後續消息將等待被讀取?有可能發送我的節點應用程序消息的程序沒有正確發送它們,但我已經看過它,它似乎在發送它們。
啊,太棒了。那正是我的問題。收到的'data'事件中有多個發送的消息。我得到的所有數據,只是不是單獨的消息。 –