Node.js TCP服务器数据丢失

本文关键字:数据 服务器 js TCP Node | 更新日期: 2023-09-27 17:53:38

我正在为c#应用程序编写Node.js本地服务器。在我的c#代码中,我有这样的东西:

for(int i = 0; i < 1000; i++)
    SendMessageToNodeOverTCP(i);

消息从sep线程发送。节点的期望输出应该是:0,1,2,3,4,5,6,7,8,…,998,999。但我得到的是:0,3,5,6,9,10,15,20,…995,997,998,999。

我很确定问题是在Node.js方面,我不确定它是否真的丢失数据,或者如果我做错了什么…

我的JS代码如下:

function OnData(p_data){
    LogData(p_data); //display the numbers in a custom gui
};
net.createServer(function (p_socket) {
    p_socket.on('data', OnData);
}).listen(p_port);

Node.js TCP服务器数据丢失

我能解决我自己的问题了…

经过一番研究,我发现在TCP中有时它们会将包堆叠在一起。在节点中,我正在获取数据,通过流传递它并从中创建一个类。我要做的是检查流中是否有数据,并处理它…

Thx的人!