SocketServer метод accept () не работает? - PullRequest
0 голосов
/ 11 декабря 2019

Я просто немного тестирую с Sockets и ServerSockets. Я сделал небольшую тестовую программу, но она не работает. Кажется, что он останавливается где-то в методе ".accept ()", но я не знаю почему. Может ли кто-нибудь помочь?

public class ServerToClient
{

    public static void main(String[] args) throws IOException
    {
        ServerSocket server = new ServerSocket(1235);
        server.setSoTimeout(10000);
        try
        {

            Socket client = server.accept();
            client.close();
            server.close();
            System.out.println("Client: " + client.isClosed());
            System.out.println("Server: " + server.isClosed());
        }
        catch(InterruptedIOException e)
        {
            System.err.println("Timeout");
            server.close();
        }


    }

}

1 Ответ

0 голосов
/ 11 декабря 2019

server.accept(); блокируется, пока не найдется клиент, который устанавливает соединение.

Вы можете создать клиент, который подключается к этому сокету и отправляет данные следующим образом:

Client.java

Socket sendSocket = new Socket(host, port));
PrintWriter writer = new PrintWriter(sendSocket.getOutputStream());
writer.println("hello server");
writer.flush();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...