我正在制作一个获取 64 kb 大小的包的服务器。
int length = 65536;
byte[] bytes = new byte[length];
int pos = 0;
while(pos < length -1)
{
System.out.println("Before read");
pos += dis.read(bytes, pos, length-pos);
System.out.println(""+pos+" >> "+ length);
}
这是我用来从套接字读取所有字节的代码。Dis
是一个InputStream
。当我运行 n 中的代码 1 时出错。该代码仅接收 52964 字节而不是65536
字节。
我还检查了 C 代码,它说它发送65536
字节。
有人知道我做错了什么吗?