[英]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.