import java.net.URI;
import javax.websocket.ContainerProvider;
import javax.websocket.Session;
import javax.websocket.WebSocketContainer;
import javax.websocket.OnOpen;
import javax.websocket.OnMessage;
import javax.websocket.OnClose;
import javax.websocket.ClientEndpoint;
import javax.websocket.DeploymentException;
import java.io.IOException;
// WebSocket客户端示例代码
@ClientEndpoint
public class MyWebSocketClient {
// 当连接建立时调用
@OnOpen
public void onOpen(Session session) {
System.out.println("Connected to endpoint: " + session.getBasicRemote());
}
// 当收到消息时调用
@OnMessage
public void onMessage(String message) {
System.out.println("Received message: " + message);
}
// 当连接关闭时调用
@OnClose
public void onClose() {
System.out.println("Connection closed.");
}
public static void main(String[] args) {
String uri = "ws://echo.websocket.org"; // 替换为实际的WebSocket服务器地址
WebSocketContainer container = ContainerProvider.getWebSocketContainer();
try {
// 建立连接
Session session = container.connectToServer(MyWebSocketClient.class, URI.create(uri));
// 发送消息
session.getBasicRemote().sendText("Hello WebSocket Server!");
// 等待一段时间以接收响应
Thread.sleep(5000);
// 关闭连接
session.close();
} catch (DeploymentException | IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
导入必要的包:
javax.websocket.*:用于WebSocket通信的核心类。java.net.URI:用于表示WebSocket服务器的URI。java.io.IOException 和 java.lang.InterruptedException:用于处理异常。定义WebSocket客户端类:
@ClientEndpoint 注解标识这是一个WebSocket客户端类。onOpen 方法在连接建立时被调用,输出连接信息。onMessage 方法在接收到消息时被调用,输出接收到的消息。onClose 方法在连接关闭时被调用,输出关闭信息。主方法:
container。connectToServer 方法连接到指定的WebSocket服务器。ws://echo.websocket.org 为实际的WebSocket服务器地址。上一篇:java异步调用方法
下一篇:java set 遍历
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站