我目前通过Java套接字发送大量数据,并且我使用Apache Commons IOUtils库使用copyLarge
方法复制以发送/接收数据。问题是copyLarge
会一直读取,直到输入流返回-1。我抄在下面复制大量数据时重复使用套接字
while (-1 != (n = input.read(buffer))) {
output.write(buffer, 0, n);
count += n;
}
一个片段,此方法将阻塞,直到关闭套接字,但问题是我希望重用插座附加大量的数据。我看到的替代方法是为每个要传输的数据重新打开一个新的套接字,或者编写自己的读取方法来查找流标记的结尾(即换行符)。
我已经写了这样的低级套接字代码已经有一段时间了,但我在这里错过了什么吗?还是有更简单的方法来做到这一点?
实际上并不难,请参阅http://download.oracle.com/javase/tutorial/networking/sockets/ –