websocket java例子
时间: 2023-10-26 21:03:34 浏览: 75
WebSocket 是一种提供全双工通信的协议,允许服务器和客户端之间实时地进行实时数据交互。在 Java 中,我们可以使用 Java 的 WebSocket API 或者第三方库来实现 WebSocket 功能。
下面是一个使用 Java WebSocket API 的示例代码:
```java
import java.net.URI;
import javax.websocket.*;
@ClientEndpoint
public class WebSocketClient {
private Session session;
@OnOpen
public void onOpen(Session session) {
this.session = session;
System.out.println("Connected to server: " + session.getId());
}
@OnMessage
public void onMessage(String message) {
System.out.println("Received message: " + message);
}
@OnClose
public void onClose() {
System.out.println("Connection closed");
}
public void sendMessage(String message) {
this.session.getAsyncRemote().sendText(message);
}
public static void main(String[] args) {
WebSocketContainer container = ContainerProvider.getWebSocketContainer();
try {
Session session = container.connectToServer(WebSocketClient.class, new URI("ws://localhost:8080/websocket"));
WebSocketClient client = new WebSocketClient();
client.onOpen(session);
// 发送消息
client.sendMessage("Hello, server!");
// 关闭连接
session.close();
client.onClose();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
以上代码中,我们定义了一个 WebSocketClient 类,并使用 `@ClientEndpoint` 注解标记为客户端端点。在 `onOpen` 方法中,与服务器建立连接时,会打印连接成功的消息。`onMessage` 方法会在接收到消息时被调用,我们在其中处理收到的消息。`onClose` 方法会在连接关闭时被调用。
在 `main` 方法中,我们创建了一个 WebSocketContainer 实例,并调用 `connectToServer` 方法连接到服务器。然后,我们通过 `client.sendMessage` 方法向服务器发送消息,并在之后关闭连接。
这个例子演示了如何使用 Java WebSocket API 来实现 WebSocket 客户端功能。希望可以帮助到你。
阅读全文