java - 服务器关闭带有套接字的客户端的问题
问题描述
当客户端断开连接时,相应的实例将从聊天和客户端列表中删除,错误是当我断开客户端时,服务器发生冲突并且无法识别客户端已断开连接。
public static void main(String[] args) throws IOException
{
// TODO code application logic here
System.out.println("Servidor Listo");
ServerSocket server=new ServerSocket(5000);
LinkedList<ChatData> chats=new LinkedList<>();
LinkedList<Socket> clients=new LinkedList<>();
while (true)
{
Socket clientsocket=server.accept();
System.out.println("Aceptado cliente: " + clientsocket.getInetAddress().getHostName());
ChatData chat1=new ChatData(clientsocket);
chats.add(chat1);
clients.add(clientsocket);
for (ChatData chat : chats)
{
chat.clients=clients;
}
chat1.start();
}
}
解决方案
推荐阅读
- jquery - 在推送器上接收事件但数据的值为空
- python - 类复制方法返回不正确的引用
- reactjs - 有没有办法链接 react-redux 和 react-router?
- java - 如何获得java中每个循环输出的总和?
- python - pandas 和 openpyxl 格式不起作用
- css - How to properly cycle through nth-of-type?
- android - 滚动recyclerview时,滚动视图内的视图不滚动
- android - 如何使用Retrofit忽略JSON中根元素中的所有字段,但其中一个?
- angular - 在孩子中使用结构的指令模板
- firebase - Firebase 部署错误:y 中的编译错误:[E] 1:1 - 输入不匹配 '{' 期望 {'function'、'service'、'rules_version'}