我通过TCP发送多个大小为< 500的字节数组。但是,在客户端,我有时会接收大小大于2000的数组。这是为什么发生?TCP连接:接收数组的大小意外巨大
下面是我的TcpClient代码:
byte[] receiveData = new byte[64000];
DataInputStream input = new DataInputStream(socket.getInputStream());
int size = input.read(receiveData);
byte[] receiveDataNew = new byte[size];
System.arraycopy(receiveData,0,receiveDataNew,0,size);
System.out.println("length of receiveData is " + size);
GenericRecord result = AvroByteReader.readAvroBytes(receiveDataNew);
return result;
任何帮助表示赞赏!谢谢!
谢谢。我想我只是要使用ObjectInputStream和ObjectOutputStream来代替。 – 2012-07-31 17:10:58
这可能比自己实现它更容易。 :) – Max 2012-07-31 17:12:34