使用java nio套接字通道写入大数据时出现问题
我可以使用JavaNIO发送小数据 但是如果我想发送一个非常大的数据,那么我的套接字通道就不能正常工作使用java nio套接字通道写入大数据时出现问题,java,nio,Java,Nio,我可以使用JavaNIO发送小数据 但是如果我想发送一个非常大的数据,那么我的套接字通道就不能正常工作 message = "very large data"+"\n"; ByteBuffer buf = ByteBuffer.wrap(message.getBytes()); int nbytes = channel.write(buf); 所有数据都已发送 我想从服务器读取数据,所以我使用的是BufferedInputStreader.readLine(); 在这种情况下,我没有收到任何错
message = "very large data"+"\n";
ByteBuffer buf = ByteBuffer.wrap(message.getBytes());
int nbytes = channel.write(buf);
所有数据都已发送
我想从服务器读取数据,所以我使用的是BufferedInputStreader.readLine();
在这种情况下,我没有收到任何错误,也无法检索我发送的任何数据
谢谢
迪帕克
写并不能保证写下你的全部buf。
你需要检查写了多少,然后再写一次。(可能还要等待(选择)直到可以再次写入。)
您可能还应该搜索一个好的java.nio教程。。。
如果您需要更简单的api,请使用java.io中的阻塞io…您所说的“工作不正常”是什么意思?你有例外吗?你必须解释到底是什么不起作用。。。异常,堆栈跟踪,一些。。。
write()
Returns:
The number of bytes written, possibly zero