繁体   English   中英

在Java中通过socket发送int

[英]Sending int through socket in Java

在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,但它似乎不起作用。 有任何想法吗?

谢谢。

使用DataOutputStream包装OutputStream ,然后使用writeInt()方法。

可能有用的其他东西是另一端你可以将我们的InputStream包装在DataInputStream中并使用readInt()来读取一个int

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

您可以使用其他类型的流,可以直接发送整数。 您可以使用DataOutputStream。 观察,

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

out.writeInt(5);

如果要发送少量数据,则编码为字符数据(例如Integer.toString(length) )并在另一端进行解码并非不合理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM