TCP 経由でサイズが 500 未満の複数のバイト配列を送信しています。ただし、クライアント側では、サイズが 2000 を超える配列を受け取ることがあります。なぜこうなった?
以下は、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;
どんな助けでも大歓迎です!ありがとうございました!