Как проверить, подключается ли сокет? - PullRequest
0 голосов
/ 15 января 2019

Как проверить, Socket подключается к клиенту?

public void run() {
    while (true) {
        try {
            if (socket.isConnected()) {
                System.out.println("is actuaally conecting");
                input = new ObjectInputStream(socket.getInputStream());
                Message messagePing = (Message) input.readObject();
                if (messagePing.getMessage().equals("ping") &&
                        messagePing.getAuthor().equals(name)) {
                    localOutput = new ObjectOutputStream(socket.getOutputStream());
                    localOutput.writeObject(new Message(CONFIG, "pong"));

                    Message message = (Message) input.readObject();
                    if (message.getHeader().equals(USERMESSAGE)) {
                        if (usersBase.getUser(message.getRecipient())!= null) {
                            output = new ObjectOutputStream(socket.getOutputStream());
                            output = new ObjectOutputStream(usersBase.getUser(
                                    message.getRecipient()).getSocket().getOutputStream());
                            output.writeObject(message);
                        } else { System.out.println("user is null"); }
                    }
                }
            }
        } catch (IOException | ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
}

socket.isConnected() не работает. Я хочу запустить код выше, когда сокет подключен к клиенту (код с сервера чата). Спасибо за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...