【发布时间】:2023-03-19 16:56:01
【问题描述】:
在 Java 中通过套接字发送 int 的最佳方法是什么?我现在在看
sockout.write((byte)( length >> 24 ));
sockout.write((byte)( (length << 8) >> 24 ));
sockout.write((byte)( (length << 16) >> 24 ));
sockout.write((byte)( (length << 24) >> 24 ));
然后尝试从另一端的字节重建 int,但它似乎不起作用。有什么想法吗?
谢谢。
【问题讨论】:
-
一般来说,你的方式也应该可行,但亚当的答案是更好的 IMO。虽然,这样做的常规方法是 ((length >> i) & (byte) 0xff) 其中 i 是 (0, 8, 16, 24) 之一,它可以保护您免受问题的影响,以防整数的原始值为否定的。
标签: java networking sockets integer