Я пытаюсь изучить Java Network Programming, но я сталкиваюсь с некоторыми препятствиями. Я уже написал сервер и клиент, но каждый раз, когда я пытаюсь их подключить, я мгновенно получаю закрытую ошибку соединения. Затем я попытался отредактировать его, но теперь я получаю сообщение об ошибке отказа. Отказавшись от этого, я решил работать на очень простом сервере, чтобы проверить основы Sockets и ServerSockets. Делая это, я пришел с этими двумя классами:Java SocketServer принимает вход от клиента Socket, но клиент Socket не получает входные данные от SocketServer
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.io.*;
public class SimpleServer {
public static void main(String[] args) throws Exception {
System.out.println("hey there");
ServerSocket server = new ServerSocket(50010);
Socket socket = server.accept();
System.out.println("Connection at " + socket);
InputStream in = socket.getInputStream();
int c = 0;
while ((c = in.read()) != -1) {
System.out.print((char)c);
}
OutputStream out = socket.getOutputStream();
for (byte b : (new String("Thanks for connecting!")).getBytes()) {
out.write(b);
out.flush();
}
in.close();
out.close();
socket.close();
server.close();
}
}
и
import java.net.Socket;
import java.io.*;
public class SimpleClient {
public static void main(String[] args) throws Exception {
System.out.println("Attempting connection");
Socket s = new Socket("130.49.89.208", 50010);
System.out.println("Cool");
OutputStream out = s.getOutputStream();
for (byte b : (new String("Hey server\r\nThis message is from the client\r\nEnd of message\r\n")).getBytes()) {
out.write(b);
out.flush();
}
InputStream in = s.getInputStream();
int c = 0;
System.out.println("this message will print");
while ((c = in.read()) != -1) {
System.out.print((char)c);
System.out.println("this does not print");
}
out.close();
in.close();
s.close();
}
}
Сервер получает сообщение клиента прекрасно, но тогда, когда это поворот сервера, чтобы написать клиенту , все просто блокирует.
выход Сервера: Выход
-java SimpleServer
----hey there
----Connection at Socket[addr=/130.49.89.208,port=59136,localport=50010]
----Hey server
----This message is from the client
----End of message
клиента:
-java SimpleClient
----Attempting connection
----Cool
----this message will print
клиент и сервер и работать на моем ноутбуке на соединение локальных сетей в подключение к Интернету университета, если это помогает.