用java写一个 建立websocket连接的代码
时间: 2024-05-05 12:17:41 浏览: 164
下面是一个使用 Java 语言建立 WebSocket 连接的示例代码:
```java
import java.net.URI;
import javax.websocket.*;
@ClientEndpoint
public class WebSocketClient {
@OnOpen
public void onOpen(Session session) {
System.out.println("WebSocket connection opened: " + session.getId());
}
@OnMessage
public void onMessage(String message, Session session) {
System.out.println("Received message: " + message);
}
@OnError
public void onError(Throwable t) {
System.out.println("WebSocket connection error: " + t.getMessage());
}
@OnClose
public void onClose(Session session) {
System.out.println("WebSocket connection closed: " + session.getId());
}
public static void main(String[] args) {
WebSocketContainer container = ContainerProvider.getWebSocketContainer();
try {
Session session = container.connectToServer(WebSocketClient.class, new URI("ws://localhost:8080/websocket"));
session.getBasicRemote().sendText("Hello, WebSocket!");
} catch (Exception e) {
System.out.println("Failed to connect to WebSocket server: " + e.getMessage());
}
}
}
```
上述代码中,使用 `javax.websocket` 包中的注解 `@ClientEndpoint` 标记一个 WebSocket 客户端端点,该类中定义了四个注解方法:
- `@OnOpen` 方法在建立 WebSocket 连接时被调用;
- `@OnMessage` 方法在接收到 WebSocket 服务器发送的消息时被调用;
- `@OnError` 方法在 WebSocket 连接发生错误时被调用;
- `@OnClose` 方法在 WebSocket 连接关闭时被调用。
在 `main` 方法中,使用 `ContainerProvider` 类获取一个 WebSocket 容器,并使用 `connectToServer` 方法连接到 WebSocket 服务器。连接成功后,使用 `Session` 对象的 `getBasicRemote` 方法获取远程终端,并使用 `sendText` 方法向服务端发送一条消息。
阅读全文