我试图首先读取 4 个字节(int)来指定消息的大小,然后根据字节数读取剩余的字节。我正在使用以下代码来完成此操作:
DataInputStream dis = new DataInputStream(
mClientSocket.getInputStream());
// read the message length
int len = dis.readInt();
Log.i(TAG, "Reading bytes of length:" + len);
// read the message data
byte[] data = new byte[len];
if (len > 0) {
dis.readFully(data);
} else {
return "";
}
return new String(data);
有没有更好/有效的方法来做到这一点?