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