Node.js TCP服务器数据丢失

时间:2014-03-26 20:54:25

标签: c# node.js sockets tcp

我正在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);

1 个答案:

答案 0 :(得分:0)

我能解决自己的问题...

经过一些研究后,我发现在TCP中有时会将包堆叠起来。 在节点中,我获取数据,将其传递给流并从中创建一个类。 我必须做的是检查流中是否还有数据,并进行处理......

Thx伙计们!