如何检查插座是否连接?

时间:2019-01-15 20:22:10

标签: java sockets

如何检查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()不起作用。当套接字连接到客户端时,我想运行以上代码(代码来自聊天服务器)。感谢所有帮助。

0 个答案:

没有答案
相关问题