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

java websocket客户端

作者:花小泽ノ   发布日期:2025-07-19   浏览:82

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.EndpointConfig;
import javax.websocket.MessageHandler;

@ClientEndpoint
public class WebSocketClient {

    @OnOpen
    public void onOpen(Session session) {
        System.out.println("Connected to server: " + session.getId());
    }

    @OnMessage
    public void onMessage(String message) {
        System.out.println("Received message from server: " + message);
    }

    @OnClose
    public void onClose() {
        System.out.println("Connection closed");
    }

    public static void main(String[] args) {
        try {
            // 创建WebSocket容器
            WebSocketContainer container = ContainerProvider.getWebSocketContainer();
            // 连接到WebSocket服务器
            Session session = container.connectToServer(WebSocketClient.class, URI.create("ws://example.com/websocket"));

            // 发送消息到服务器
            session.getBasicRemote().sendText("Hello Server");

            // 等待一段时间以接收消息
            Thread.sleep(5000);

            // 关闭连接
            session.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

代码解释:

  1. 导入必要的包:首先导入了javax.websocket相关的包,用于创建和管理WebSocket客户端。
  2. 注解@ClientEndpoint:标记类为WebSocket客户端端点。
  3. 方法onOpen:当客户端成功连接到服务器时调用,打印会话ID。
  4. 方法onMessage:当从服务器接收到消息时调用,打印接收到的消息。
  5. 方法onClose:当连接关闭时调用,打印关闭信息。
  6. 主方法main
    • 创建WebSocket容器。
    • 使用connectToServer方法连接到指定的WebSocket服务器。
    • 使用session.getBasicRemote().sendText发送消息给服务器。
    • 使用Thread.sleep等待一段时间以便接收消息。
    • 最后关闭会话。

上一篇:java jsonobject转对象

下一篇:java string转jsonobject

大家都在看

java连接数据库的代码

ubuntu 卸载java

java读取excel中的图片

java新建

java sort用法

java collections.sort

java file类的方法

java 判断

java时间数据类型

java实体类转json字符串

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

Laravel 中文站