gpt4 book ai didi

java - 聊天客户端程序出现问题

转载 作者:行者123 更新时间:2023-12-01 15:57:03 26 4
gpt4 key购买 nike

我有一个在本地主机上运行的服务器聊天和客户端聊天程序。当我尝试连接到服务器时,我的客户端程序在下一行卡住 in = new ObjectInputStream(socket.getInputStream());这是我尝试连接到服务器的一段代码

            Socket socket = new Socket(host, port);
try {
out = new ObjectOutputStream(socket.getOutputStream());
in = new ObjectInputStream(socket.getInputStream());
Message m = new Message(null, nick, Message.Type.REGISTER);
out.writeObject(m);
out.flush();
} catch (IOException ex) {
socket.close();
throw ex;
}

Message类实现了Serialized接口(interface),因此可以通过网络进行序列化。这是服务器处理客户端请求的一段代码

try {
ObjectInputStream in = new ObjectInputStream(new BufferedInputStream(client.getInputStream()));
Message m = (Message) in.readObject();
switch (m.getMessageType()) {
case REGISTER:
registerUser(m);
break;
case CHATMESSAGE:
sendMessageToAll(m);
break;
case UNREGISTER:
unregisterUser(m);
break;
}
} catch (ClassNotFoundException ex) {
Logger.getLogger(Chatserver.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(Chatserver.class.getName()).log(Level.SEVERE, null, ex);
}

方法registerUser、unregisterUser、sendMessageToAll只需调用下一个方法

private void sendMessage(Message m, Socket s) throws IOException {
ObjectOutputStream out = new ObjectOutputStream(new BufferedOutputStream(s.getOutputStream()));
out.writeObject(m);
out.flush();
// out.close();
}

哪里出错了?

最佳答案

看来问题可能与描述的问题相同here.

关于java - 聊天客户端程序出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4866437/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com