Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java连接websocket服务器

作者:半盏流年   发布日期:2025-12-26   浏览:33

import java.net.URI;
import javax.websocket.ClientEndpoint;
import javax.websocket.ContainerProvider;
import javax.websocket.Session;
import javax.websocket.OnOpen;
import javax.websocket.OnMessage;
import javax.websocket.OnClose;
import javax.websocket.WebSocketContainer;

public class WebSocketClient {

    @ClientEndpoint
    public static class EchoWebSocketClient {

        @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) {
        try {
            WebSocketContainer container = ContainerProvider.getWebSocketContainer();
            URI uri = new URI("ws://echo.websocket.org");
            Session session = container.connectToServer(EchoWebSocketClient.class, uri);
            session.getBasicRemote().sendText("Hello WebSocket!");
            Thread.sleep(5000); // Wait for 5 seconds to receive any potential response
            session.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

解释说明:

  1. 引入依赖:确保你的项目中包含 javax.websocket 相关的依赖库。可以使用 Maven 或 Gradle 来管理这些依赖。
  2. WebSocket 客户端类EchoWebSocketClient 是一个标注了 @ClientEndpoint 的类,表示这是一个 WebSocket 客户端。
  3. 事件处理方法
    • onOpen:当连接建立时调用。
    • onMessage:当接收到消息时调用。
    • onClose:当连接关闭时调用。
  4. 主函数
    • 创建 WebSocket 容器并连接到指定的 WebSocket 服务器(本例中是 ws://echo.websocket.org)。
    • 发送一条消息并等待响应。
    • 关闭连接。

如果你需要更详细的配置或有其他问题,请随时提问。

上一篇:java map 按key排序

下一篇:java定义类

大家都在看

java url decode

java判断是windows还是linux

java连接数据库的代码

java date类型比较大小

java djl

ubuntu 卸载java

es java api

java读取excel中的图片

java新建

java base64 加密

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站