午夜无码人妻aⅴ大片色欲张津瑜,国产69久久久欧美黑人A片,色妺妺视频网,久久久久国产综合AV天堂

WebSocket如何在SpringBoot中使用

本篇文章給大家分享的是有關(guān)WebSocket如何在SpringBoot中使用,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

10年積累的網(wǎng)站制作、成都做網(wǎng)站經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先網(wǎng)站策劃后付款的網(wǎng)站建設流程,更有姚安免費網(wǎng)站建設讓你可以放心的選擇與我們合作。

配置Bean

@Bean
  public ServerEndpointExporter serverEndpointExporter() {
    return new ServerEndpointExporter();
  }

java鏈接

/**
 * token為前端連接時的標識,后端根據(jù)此token維護用戶與webSocket的綁定
 */
@Component
@ServerEndpoint("/webSocket/{token}")
public class WebSocket {
  private Session session;
  private static ConcurrentHashMap<String, WebSocket> webSocketMap = new ConcurrentHashMap<>();
  @OnOpen
  public void onOpen(@PathParam(value = "token") String token, Session session) {
    this.session = session;
    webSocketMap.put(token, this);
    System.out.println("new connect:" + token + ". total :" + webSocketMap.size());
  }
  @OnClose
  public void onClose(@PathParam(value = "token") String token) {
    webSocketMap.remove(token);
    System.out.println("disconnect:" + token + ", total:" + webSocketMap.size());
  }
  @OnMessage
  public void onMessage(String message) {
    System.out.println("get message: " + message);
  }
  public void sendMessage(String message) {
    // 根據(jù)業(yè)務邏輯,找到token指向的webSocket
    WebSocket webSocket = webSocketMap.get(String.valueOf(message.charAt(0)));
    // 找不到返回
    if (webSocket == null) {
      return;
    }
    try {
      webSocket.session.getBasicRemote().sendText(message);
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

前端怎么寫

/**
   * WebSocket客戶端
   *
   * 使用說明:
   * 1、WebSocket客戶端通過回調(diào)函數(shù)來接收服務端消息。例如:webSocket.onmessage
   * 2、WebSocket客戶端通過send方法來發(fā)送消息給服務端。例如:webSocket.send();
   */
  function getWebSocket() {
    /**
     * WebSocket客戶端 PS:URL開頭表示W(wǎng)ebSocket協(xié)議 中間是域名端口 結(jié)尾是服務端映射地址
     */
    var webSocket = new WebSocket(/*[[${webSocketUrl}]]*/ 'ws://localhost:8080/webSocket/2');
    /**
     * 當服務端打開連接
     */
    webSocket.onopen = function (event) {
      console.log('WebSocket打開連接');
    };
    /**
     * 當服務端發(fā)來消息:1.廣播消息 2.更新在線人數(shù)
     */
    webSocket.onmessage = function (event) {
      console.log('WebSocket收到消息:%c' + event.data, 'color:green');
    };
    /**
     * 關(guān)閉連接
     */
    webSocket.onclose = function (event) {
      console.log('WebSocket關(guān)閉連接');
    };
    /**
     * 通信失敗
     */
    webSocket.onerror = function (event) {
      console.log('WebSocket發(fā)生異常');
    };
    return webSocket;
  }

以上就是WebSocket如何在SpringBoot中使用,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

分享文章:WebSocket如何在SpringBoot中使用
網(wǎng)頁URL:http://www.ekvhdxd.cn/article46/pjeehg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導航品牌網(wǎng)站制作、云服務器用戶體驗、服務器托管網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設計公司