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

java实现websocket

作者:昔日暖阳   发布日期:2025-04-22   浏览:112

// WebSocket 示例代码

import java.io.IOException;
import javax.websocket.OnClose;
import javax.websocket.OnError;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;

@ServerEndpoint("/websocket")
public class WebSocketExample {

    // 当有新的客户端连接时调用
    @OnOpen
    public void onOpen(Session session) {
        System.out.println("New connection with client: " + session.getId());
    }

    // 当收到客户端消息时调用
    @OnMessage
    public void onMessage(String message, Session session) {
        System.out.println("Message from " + session.getId() + ": " + message);
        try {
            session.getBasicRemote().sendText("Echo: " + message);
        } catch (IOException e) {
            System.out.println("Error sending message");
        }
    }

    // 当客户端断开连接时调用
    @OnClose
    public void onClose(Session session) {
        System.out.println("Connection closed for client: " + session.getId());
    }

    // 当发生错误时调用
    @OnError
    public void onError(Throwable error, Session session) {
        System.out.println("Error on session " + session.getId() + ": " + error.getMessage());
    }
}

解释说明:

  1. 导入必要的包

    • javax.websocket.* 包含了 WebSocket API 的相关类和接口。
  2. 注解 @ServerEndpoint

    • 指定该类为 WebSocket 服务器端点,并设置访问路径为 /websocket
  3. 方法 onOpen

    • 当有新的客户端连接时调用,可以在这里进行初始化操作或记录连接信息。
  4. 方法 onMessage

    • 当接收到客户端发送的消息时调用。这里简单地将消息回显给客户端,并在控制台打印消息内容。
  5. 方法 onClose

    • 当客户端断开连接时调用,可以在这里进行清理工作或记录断开信息。
  6. 方法 onError

    • 当发生错误时调用,可以在这里处理异常情况并记录错误信息。

这个示例展示了如何使用 Java 实现一个简单的 WebSocket 服务器端点,处理客户端的连接、消息接收、断开连接和错误处理。

上一篇:java list.remove

下一篇:java创建二维数组

大家都在看

java连接数据库的代码

ubuntu 卸载java

java sort用法

java collections.sort

java file类的方法

java 判断

java时间数据类型

java 时间加一天

java demo

java 截取

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

Laravel 中文站