java实现websocket5.2.5
时间: 2024-10-08 08:00:34 浏览: 21
Java实现WebSocket主要是通过Java WebSocket API (JSR 356)来完成,尤其是在Java EE 8及以上版本中,WebSocket支持已经内置。以下是使用Java WebSocket的基本步骤:
1. 引入依赖:如果你使用的是Spring Boot,可以添加`spring-websocket`依赖;如果是标准Java,则需要手动引入javax.websocket的相关包。
```xml
<!-- Spring Boot -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
<!-- Standard Java (JSR 356) -->
<dependency>
<groupId>javax.websocket</groupId>
<artifactId>javax.websocket-api</artifactId>
<version>1.1</version>
</dependency>
```
2. 创建WebSocket服务器端点:
- 继承`javax.websocket.OnMessageWebSocketContainer`,并在其中定义处理客户端连接和消息的方法,如`@OnOpen`, `@OnClose`, `@OnMessage` 和 `@OnError` 注解。
```java
import javax.websocket.OnClose;
import javax.websocket.OnError;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;
@ServerEndpoint("/ws")
public class MyWebSocket {
@OnOpen
public void onOpen(Session session) {
System.out.println("New connection from " + session.getId());
}
@OnClose
public void onClose(Session session) {
System.out.println("Connection closed by " + session.getId());
}
@OnMessage
public String handleMessage(String message) {
return "Received message: " + message;
}
@OnError
public void onError(Throwable error) {
System.err.println("Error occurred: " + error.getMessage());
}
}
```
3. 运行WebSocket服务:
- 如果使用Spring Boot,启动应用即可自动配置WebSocket支持。如果不使用框架,需要创建并运行WebSocket服务器实例。
4. 客户端连接与通信:
- 使用JavaScript的WebSocket API与服务器交互,发送和接收消息。
```javascript
var socket = new WebSocket('ws://your-server-url/ws');
socket.onopen = function() {
socket.send('Hello Server!');
};
socket.onmessage = function(event) {
console.log('Received: ' + event.data);
};
socket.onclose = function() {
console.log('Connection closed');
};
```
阅读全文