Я пытаюсь написать небольшую программу, которая открывает сервер, создает клиента, который подключается к этому серверу и получает от него сообщение.
Это код на данный момент
public static void main(String[] args) {
final ServerSocket serverSocket;
try {
serverSocket = new ServerSocket(12345);
Thread t = new Thread(){
public void run(){
try {
Socket server = serverSocket.accept();
PrintWriter writer = new PrintWriter(server.getOutputStream(), true);
writer.write("Hello World");
writer.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
};
t.start();
Socket client = new Socket("localhost", 12345);
BufferedReader reader = new BufferedReader(new InputStreamReader(client.getInputStream()));
String message = reader.readLine();
System.out.println("Received " + message);
} catch (IOException e1) {
e1.printStackTrace();
}
}
Если я запускаю программу, она продолжает ждать в readLine () - так что, очевидно, клиент не получает сообщение от сервера.
Кто-нибудь понял, почему это не работает?