簡體   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