我正在制作一个服务器以获得64 kb大小的包。从套接字读取所有字节停留在52964字节
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
。 当我运行代码1时出错了。该代码只接收52964字节而不是65536
字节。
我也检查了C代码,它说它发送65536
字节。
有人知道我在做什么错吗?
你有寄件方代码吗? – kmkaplan
我不明白这是怎么发生的,因为你没有为EOF得到'-1',我假设。你有什么,一个例外? –
您是否设置了套接字接收缓冲区的大小? – fge