繁体   English   中英

TCP流中的数据丢失

[英]Lost data in TCP stream

我知道TCP不会丢失数据包,因为它是流式的。 我正在尝试使用nodejs发送带有5个“ 52”数据包的流。 它的格式应为(1,52,1,52,1,52,1,52,1,52)其中1是数据包的长度。 我在同一台PC上的C#控制台应用程序中都收到相同的流,这是什么服务器。 并且在具有本地网络中Java应用程序的android设备上。

C#输出为:
“1,52,1,52,1,52,1,52,1,52”

但是java输出看起来像:
“1,52,1,52,52,1,52,1,52”

Node.js代码:

b = new Buffer(1);
b.writeInt8(1,0);
this.sock.write(b);
this.sock.write(String.fromCharCode(event)); //event == 52

Java代码:

while(true)
{
  int a = in.read();  //in is an instance of InputStream
  if(a!= -1)Log.v(getTag(),""+a);
}

有人知道出什么问题吗?
提前致谢

/UPDATE:socket.bytesWritten返回10,因此不在服务器端。

好。 那是我的坏事。 在Java应用程序内部,我有一个丢失的连接处理程序,该处理程序正在读取一个字节以检查连接是否仍然有效,它是从流中获取连接的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM