在Java中通过socket发送int

use*_*772 11 java sockets networking integer

在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 ));
Run Code Online (Sandbox Code Playgroud)

然后尝试从另一侧的字节重建int,但它似乎不起作用.有任何想法吗?

谢谢.

Ada*_*kin 27

OutputStreamDataOutputStream包装你,然后使用该writeInt()方法.

其他一些可能有用的是,另一方面,您可以将我们包装InputStreamDataInputStream中并用于readInt()读取int退出.

这两个类还包含许多其他有用的方法来读取和编写其他原始类型.


Cem*_*ncu 3

您还可以使用其他类型的流,它们可以直接发送整数。您可以使用数据输出流。观察,

DataOutputStream out;
try {
    //create write stream to send information
    out=new DataOutputStream(sock.getOutputStream());
} catch (IOException e) { 
    //Bail out
}

out.writeInt(5);
Run Code Online (Sandbox Code Playgroud)