我正在做簡單的Java客戶端服務器。這是我的客戶代碼。inputStream數據丟失
try {
socket = new Socket(serverIP, serverport);
dataStream = new DataOutputStream(new BufferedOutputStream(
socket.getOutputStream()));
long[] data = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
for (int i = 0; i < data.length; i++) {
dataStream.writeLong(data[i]);
System.out.println("So far" + dataStream.size());
}
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (socket != null)
try {
dataStream.flush();
socket.close();
dataStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
這可以正常工作,因爲我可以看到一堆字節已經寫入服務器。這裏是服務器代碼。
try {
ServerSocket newSocket = new ServerSocket(2503);
while (true) {
connectionSocket = newSocket.accept();
input = new DataInputStream(new BufferedInputStream(connectionSocket.getInputStream()));
System.out.println(input.readLong());
}
然而,沒有數據被成功地從服務器套接字讀出,connectionSocket.getInputStream.available()返回0字節。讓我們假設每個變量都被正確地聲明。任何想法爲什麼?感謝幫助。
嘗試添加環; (int i = 0; i <9; i ++)System.out.println(input.readLong());' – 2012-02-25 04:21:40