Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java nio套接字通道写入大数据时出现问题_Java_Nio - Fatal编程技术网

使用java nio套接字通道写入大数据时出现问题

使用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(); 在这种情况下,我没有收到任何错

我可以使用JavaNIO发送小数据

但是如果我想发送一个非常大的数据,那么我的套接字通道就不能正常工作

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