一个简单的多人聊天:
服务端:
/*
1、用 ServerSocket 创建服务器,指定端口
2、接收客户端连接,阻塞式等待
3、连接好了之后, 使用输出流发送数据到套接字(一块公共区域)
*/
public class MyTCPService {
public static List<MyChannel> allChannelList = new ArrayList<>();
public static void main(String[] args) {
try {
// 1、用 ServerSocket 创建服务器,指定端口
ServerSocket serverSocket = new ServerSocket(8888);
while(true) {
// 2、接收客户端连接,阻塞式等待
Socket client = serverSocket.accept();
MyChannel channel = new MyTCPService().new MyChannel(client);
allChannelList.add(channel);
new Thread(channel).start();
}
} catch (Exception e) {
e.printStackTrace();
}
}
/*
* 发送数据线程
*/
class MyChannel implements Runnable {
private Socket client;
private boolean isRun = true;
public MyChannel(Socket client) {
this.client = client;
}
private void sendOthers(String msg) {
try {