java WebSocket 实例
时间: 2024-09-14 19:02:12 浏览: 43
Java中WebSocket是一种网络通信协议,允许服务器与客户端之间建立持久连接并进行双向通信。这使得服务器可以在不需要客户端发送请求的情况下,主动向客户端发送消息。WebSocket协议通常用于实现实时的、响应式的网络应用。
在Java中,实现WebSocket功能通常依赖于Java API for WebSocket(JSR 356)。以下是一个简单的WebSocket服务器端实例代码,使用了Java EE的相关规范:
```java
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;
// 使用注解来定义WebSocket服务器端点
@ServerEndpoint("/chat")
public class ChatEndpoint {
// 当有新的客户端连接时,该方法被调用
@OnOpen
public void onOpen(Session session) {
// 可以在这里初始化资源或记录连接事件
System.out.println("新连接加入: " + session.getId());
}
// 这里可以添加更多的方法,比如处理消息的方法@OnMessage,关闭连接的方法@OnClose等
}
```
以下是一个简单的客户端连接到WebSocket服务器端点的代码:
```javascript
// 假设客户端运行在浏览器中
var ws = new WebSocket("ws://服务器地址/chat");
ws.onopen = function(event) {
console.log("已连接到WebSocket服务器");
// 这里可以发送消息到服务器
};
ws.onmessage = function(event) {
console.log("收到服务器消息: " + event.data);
// 处理服务器发来的消息
};
ws.onclose = function(event) {
console.log("连接已关闭");
};
ws.onerror = function(event) {
console.log("发生错误");
};
// 发送消息到服务器
ws.send("你好,服务器!");
```
为了使WebSocket工作,你需要一个支持WebSocket的服务器环境,如Tomcat、Jetty等,并且通常需要在服务器上添加相应的WebSocket库。
阅读全文