java网络编程如何实现创建群聊并给我代码
时间: 2024-05-06 20:21:12 浏览: 7
很高兴回答您的问题。以下是创建群聊的Java网络编程代码:
```
import java.io.*;
import java.net.*;
import java.util.*;
public class GroupChatServer {
private static HashSet<Socket> clients = new HashSet<Socket>();
public static void main(String[] args) throws Exception {
ServerSocket server = new ServerSocket(1234);
System.out.println("服务器已启动,等待客户端连接...");
while (true) {
Socket client = server.accept();
System.out.println("客户端已连接:" + client);
clients.add(client);
Thread thread = new Thread(new ClientHandler(client));
thread.start();
}
}
private static class ClientHandler implements Runnable {
private Socket client;
public ClientHandler(Socket client) {
this.client = client;
}
public void run() {
try {
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
while (true) {
String message = in.readLine();
if (message == null) {
clients.remove(client);
System.out.println("客户端已断开:" + client);
break;
}
System.out.println("收到消息:" + message);
broadcast(message);
}
} catch (IOException e) {
e.printStackTrace();
}
}
private void broadcast(String message) throws IOException {
for (Socket socket : clients) {
if (socket != client) {
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
out.println(message);
}
}
}
}
}
```
这是一个简单的基于Java Socket的群聊服务端,功能是接收客户端发送的消息,并将消息广播给所有客户端。在客户端连接到服务器时,它将自动加入客户端集合,然后创建一个新的线程来处理客户端发送的消息。
希望这可以帮助您实现您的Java网络编程创建群聊的需求!