我正在使用字節數組來存儲從另一臺計算機接收到的數據包。字節數組:如何確切知道接收到的字節數
receivedData = new byte[1024];
receivedPacket = new DatagramPacket(receivedData, receivedData.length);
socket.receive(receivedPacket);
receivedData = receivedPacket.getData();
String res = new String(receivedData); // PROBLEM HERE
問題是在最後一行:因爲我宣佈receivedData
與長度1024這樣一個字節流,總是在最後一行將創建一個從整個陣列的新字符串,雖然它不知道到底有多少真正的我收到的字節。所以,我遇到了沮喪的錯誤:res
沒有收到,因爲我希望。 (因爲我收到的實際字節長度不能修復整個陣列)
所以,我的問題是:我該如何解決這一問題,我怎麼知道我真的收到了多少字節轉換爲字符串?
最初我認爲你可以把receivedPacket放入一個對象中,然後根據被轉換爲byte []的對象的長度來創建字節數組。之後創建字符串。 –