本文实例为大家分享了Java Socket编程实现多人交互聊天室的具体代码,供大家参考,具体内容如下
本项目由三个java功能包(服务器(server),客户端(client),工具包(comm)构成.创建相应的包,在包里创建相应的类就可以在控制台开启服务器和客户端使用聊天室了。
服务器(server)
SQServer
package com.softeem.ChatRoom.server;
import com.softeem.ChatRoom.comm.Tools;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.util.List;
/**
* @author Solar
* @date 2020/7/22 0022 - 14:03
*/
public class SQServer {
private int port;
public static List<Socket> clients = new ArrayList<>();
public SQServer(int port) {
this.port = port;
}
public void startServer(){
try {
//创建服务
ServerSocket serverSocket = new ServerSocket(port);
System.out.println("服务器已启动");
while (true){
//监听客户端连接
Socket s = serverSocket.accept();
//将获取的Socket存储到集合中
clients.add(s);
Tools.tips("客户端已经连接"+Tools.ip(s));
//启动聊天线程
new TalkingServer(s).start();
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new SQServer(8080).startServer();
}
}
TalkingServer
package com.softeem.ChatRoom.server;
import com.softeem.ChatRoom.comm.Tools;
import java.io.IOException;
import java.net