我目前通過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/ –