gpt4 book ai didi

java - 从套接字以小端字节顺序读取无符号整数

转载 作者:行者123 更新时间:2023-12-01 22:55:50 25 4
gpt4 key购买 nike

我正在尝试连接到 vortex.labs.overthewire.org 上的端口 5842 并按主机字节顺序读入 4 个无符号整数。服务器 vortex.labs.overthewire.org 位于 32 位 x86 机器上(也就是说,有点端序)建筑学)Java 中也可以这样吗?

Socket socket = new Socket("vortex.labs.overthewire.org", 5842 );
InputStream in = socket.getInputStream();
int c;
while((c=in.read())!=-1){
System.out.println((byte)c);
}

最佳答案

整数可能会从 32 位系统作为四字节值发送。因此,您需要将四个字节读入数组,然后将其转换为 int:

Socket socket = new Socket("vortex.labs.overthewire.org", 5842);
DataInputStream in = new DataInputStream(socket.getInputStream());

byte[] intData = new byte[4];

for (int i = 0; i < 4; i++) {
in.readFully(intData);
System.out.println(ByteBuffer.wrap(intData)
.order(ByteOrder.LITTLE_ENDIAN).getInt());
}

相关:How can I convert a 4-byte array to an integer?

关于java - 从套接字以小端字节顺序读取无符号整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24076509/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com