21xrx.com
2024-12-23 03:35:22 Monday
登录
文章检索 我的文章 写文章
Java实现Websocket消息推送到页面
2023-06-16 11:14:50 深夜i     --     --
Java Websocket 消息推送

Websocket是一种在单个TCP连接上提供全双工通信的协议。在实时通信场景中,Websocket是一个非常常用的协议。本文将介绍如何使用Java实现Websocket消息推送到页面。

首先需要搭建一个简单的Websocket服务器。以下是一个基本的Websocket服务器代码:


@ServerEndpoint("/websocket")

public class WebSocketServer {

  private static Set sessions = Collections.synchronizedSet(new HashSet<>());

  @OnOpen

  public void onOpen(Session session) {

    sessions.add(session);

  }

  @OnMessage

  public void onMessage(String message, Session session)

    // 接收到客户端的消息

  

  @OnClose

  public void onClose(Session session) {

    sessions.remove(session);

  }

  @OnError

  public void onError(Throwable error) {

    error.printStackTrace();

  }

  public static void sendMessage(String message) {

    for (Session session : sessions) {

      session.getAsyncRemote().sendText(message);

    }

  }

}

在上面的代码中,@ServerEndpoint("/websocket")表示这是一个Websocket服务器,客户端可以通过该URL连接该服务器。onOpen方法表示当Websocket连接建立时会调用该方法,onClose方法表示当Websocket连接关闭时会调用该方法,onError方法表示当Websocket连接出现错误时会调用该方法。sendMessage方法可以把消息推送给所有连接该服务器的客户端。

接下来,在页面中引入Websocket连接并处理消息。以下是一个基本的页面代码:


  

   WebSocket Demo

  

  

  

  

在上面的页面代码中,通过按钮来进行连接和消息发送。其中websocket.onmessage表示当Websocket收到消息时会调用该方法。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复