大体实现功能可以选择房间,可以与房间中的用户进行实时的交流
说在前面的话:
serverSocket.accept() 会形成阻塞
scanner.hasNextLine() 和 scanner.nextLine() 也会形成阻塞
windows 下需要打开telnet服务。请自行百度
实现思路:
用户连接上服务器后选择房间号,进入房间。进入房间后会向房间中所有的用户打印出用户进入房间的提醒。
用户进入房间后,输入姓名即可发言。
说起来很简单,代码实现更简单。我们需要一个保存房间用户的容器。我这里使用的是。
// 保存聊天室中的用户数据
private static Map>> charScnnerMap = new HashMap<>();
使用 try-with-resource 语法防止出现资源未关闭的情况出现。
直接上代码
package com.annie;
import com.sun.org.apache.xml.internal.resolver.readers.ExtendedXMLCatalogReader;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.*;
public class App { </