我正在Node.js中为C#应用程序编写本地服务器。 在我的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);
答案 0 :(得分:0)
我能解决自己的问题...
经过一些研究后,我发现在TCP中有时会将包堆叠起来。 在节点中,我获取数据,将其传递给流并从中创建一个类。 我必须做的是检查流中是否还有数据,并进行处理......
Thx伙计们!