websocket java
时间: 2023-12-26 14:28:03 浏览: 41
以下是使用Java实现WebSocket的示例代码:
```java
import javax.websocket.*;
import javax.websocket.server.ServerEndpoint;
import java.io.IOException;
@ServerEndpoint("/websocket")
public class WebSocketServer {
@OnOpen
public void onOpen(Session session) {
System.out.println("WebSocket opened: " + session.getId());
}
@OnMessage
public void onMessage(String message, Session session) throws IOException {
System.out.println("Received message: " + message);
session.getBasicRemote().sendText("Server received your message: " + message);
}
@OnClose
public void onClose(Session session) {
System.out.println("WebSocket closed: " + session.getId());
}
@OnError
public void onError(Throwable error) {
System.out.println("WebSocket error: " + error.getMessage());
}
}
```
上述代码使用了Java的WebSocket API,通过`@ServerEndpoint`注解将一个类标记为WebSocket服务器端点。在`onOpen`方法中,当有新的WebSocket连接建立时,会打印出连接的ID。在`onMessage`方法中,当接收到客户端发送的消息时,会打印出消息内容,并通过`session.getBasicRemote().sendText()`方法将消息发送回客户端。在`onClose`方法中,当WebSocket连接关闭时,会打印出连接的ID。在`onError`方法中,当发生错误时,会打印出错误信息。
要使用上述代码,您需要在项目中引入WebSocket的依赖。如果使用Maven进行项目管理,可以在`pom.xml`文件中添加以下依赖:
```xml
<!-- Spring Boot WebSocket -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
```
请注意,上述代码是一个简单的示例,您可以根据自己的需求进行修改和扩展。