Я делаю простой клиент-сервер на Java.Это мой код клиента.
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 байтов.давайте предположим, что все переменные были объявлены правильно.Есть идеи почему?Ценю помощь.