真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

springboot+vue如何實現(xiàn)websocket配置

這篇文章主要講解了springboot+vue如何實現(xiàn)websocket配置,內(nèi)容清晰明了,對此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會有幫助。

按需定制網(wǎng)站可以根據(jù)自己的需求進行定制,成都網(wǎng)站設(shè)計、成都網(wǎng)站制作構(gòu)思過程中功能建設(shè)理應(yīng)排到主要部位公司成都網(wǎng)站設(shè)計、成都網(wǎng)站制作的運用實際效果公司網(wǎng)站制作網(wǎng)站建立與制做的實際意義

1.引入依賴


   org.springframework.boot
   spring-boot-starter-websocket
   1.3.5.RELEASE

2.配置ServerEndpointExporter

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

}

這個bean會自動注冊使用了@ServerEndpoint注解聲明的Websocket endpoint。

3.創(chuàng)建websocket的ServerEndpoint端點

@Component
@ServerEndpoint("/socket")
public class WebSocketServer {
  /**
   * 全部在線會話 
   */
  private static Map onlineSessions = new ConcurrentHashMap<>();


  /**
   * 當(dāng)客戶端打開連接:1.添加會話對象 2.更新在線人數(shù)
   */
  @OnOpen
  public void onOpen(Session session) {
    onlineSessions.put(session.getId(), session);
    
  }

  /**
   * 當(dāng)客戶端發(fā)送消息:1.獲取它的用戶名和消息 2.發(fā)送消息給所有人
   * 

* PS: 這里約定傳遞的消息為JSON字符串 方便傳遞更多參數(shù)! */ @OnMessage public void onMessage(Session session, String jsonStr) { } /** * 當(dāng)關(guān)閉連接:1.移除會話對象 2.更新在線人數(shù) */ @OnClose public void onClose(Session session) { onlineSessions.remove(session.getId()); } /** * 當(dāng)通信發(fā)生異常:打印錯誤日志 */ @OnError public void onError(Session session, Throwable error) { error.printStackTrace(); } /** * 公共方法:發(fā)送信息給所有人 */ public void sendMessageToAll(String jsonMsg) { onlineSessions.forEach((id, session) -> { try { session.getBasicRemote().sendText(jsonMsg); } catch (IOException e) { e.printStackTrace(); } }); } }

4.前端配置連接與接收消息