[英]Why the last element of tcp/ip message's byte array in java is 0?
我正在从客户端向服务器发送字节数组。 客户端的字节数组为:
0 52 2 0 72 3c 5 80 0 c0 0 8 10 c 22 38 4e 5b 15 1f 29 1e 0 0 0 0 0 0 a 0 b 16 21 2c 37 c
22 38 20 41 62 2 1c 11 1 0 15 4 2c 0 30 30 30 30 30 30 30 31 30 30 30 30 30 30 30 30 30
30 30 30 30 31 35 0 9 4d 79 20 50 61 72 73 65 72
但是服务器收到的字节数组是:
0 52 2 0 72 3c 5 80 0 c0 0 8 10 c 22 38 4e 5b 15 1f 29 1e 0 0 0 0 0 0 a 0 b 16 21 2c 37 c
22 38 20 41 62 2 1c 11 1 0 15 4 2c 0 30 30 30 30 30 30 30 31 30 30 30 30 30 30 30 30 30
30 30 30 30 31 35 0 9 4d 79 20 50 61 72 73 65 0
请尽快通知我。
您没有提供任何代码,这使得诊断起来很困难,但是我怀疑您忽略了InputStream.read()
的返回值,该值指示已读取多少字节。
消息很可能被网络破坏了,您需要发出多个read()
调用才能全部提取消息。 您应注意read()
的返回值,并忽略相关范围之外的任何字节。
要么就是这样,要么您实际上没有正确发送数据,这可能是由于一次关闭错误所致。 再说一次-没有代码,这很难说。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.