帮我用java和websockte写一个聊天室的后端代码
时间: 2023-03-28 13:00:34 浏览: 105
好的,我可以回答这个问题。以下是一个简单的使用 Java 和 WebSocket 的聊天室后端代码示例:
```java
import java.io.IOException;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
import javax.websocket.OnClose;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;
@ServerEndpoint("/chat")
public class ChatServer {
private static Set<Session> sessions = Collections.synchronizedSet(new HashSet<Session>());
@OnOpen
public void onOpen(Session session) {
sessions.add(session);
}
@OnMessage
public void onMessage(String message, Session session) throws IOException {
for (Session s : sessions) {
s.getBasicRemote().sendText(message);
}
}
@OnClose
public void onClose(Session session) {
sessions.remove(session);
}
}
```
这个代码使用了 Java 的 WebSocket API,创建了一个 `/chat` 的 WebSocket 端点,当有新的客户端连接时,将其加入到一个 `sessions` 集合中。当有客户端发送消息时,将消息广播给所有连接的客户端。当客户端断开连接时,将其从 `sessions` 集合中移除。
阅读全文