1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      如何在spring環(huán)境中搭建websocket

      今天就跟大家聊聊有關(guān)如何在spring環(huán)境中搭建websocket,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

      黃山區(qū)網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,黃山區(qū)網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為黃山區(qū)上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的黃山區(qū)做網(wǎng)站的公司定做!

      本文基于Apach Tomcat 8.0.3+MyEclipse+maven+JDK1.7

      spring4.0以后加入了對websocket技術(shù)的支持,擼主目前的項目用的是SSM(springMVC+spring+MyBatis)框架,所以肯定要首選spring自帶的websocket

      1 在maven的pom.xml中加入websocket所依賴的jar包

      
       com.fasterxml.jackson.core
       jackson-core
       2.4.0
      
      
       com.fasterxml.jackson.core
       jackson-databind
       2.4.0
      
      
        org.springframework
        spring-websocket//version須和spring mvc的version保持一致,否則會出現(xiàn)問題
        4.0.5.RELEASE
      
      
        org.springframework
        spring-messaging
        4.0.5.RELEASE
      

      2 更新spring-mvc.xml中namespace.xsd的版本

      處理類和握手協(xié)議的spring配置(applicationContext.xml文件)

      
      
      
        
        
        
        
         
      

      webconfig

      @Override
      public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
            registry.addHandler(new HelloHandler(), "/hello").addInterceptors(new HandshakeInterceptor()).withSockJS().setHttpMessageCacheSize(20000);
      
          }

      3 創(chuàng)建握手(handshake)接口

      public class HandshakeInterceptor extends HttpSessionHandshakeInterceptor {
       @Override
       public boolean beforeHandshake(ServerHttpRequest arg0,
        ServerHttpResponse arg1, WebSocketHandler arg2,
        Map arg3) throws Exception {
       
       System.out.println("---- Before Handshake ----");
       return super.beforeHandshake(arg0, arg1, arg2, arg3);
       }
       
       @Override
       public void afterHandshake(ServerHttpRequest request,
        ServerHttpResponse response, WebSocketHandler wsHandler,
        Exception ex) {
       
       System.out.println("---- After Handshake ----");
       super.afterHandshake(request, response, wsHandler, ex);
       }
      }

      4  創(chuàng)建websocket處理類

      public class HelloHandler extends TextWebSocketHandler {
       
       public static List users;
       static{
       users = new ArrayList();
       }
       
       @Override
        public void handleTextMessage(WebSocketSession session, TextMessage message) {
          //接收到客戶端消息時調(diào)用
          System.out.println("text message: " + session.getId() + "-" + message.getPayload());
        }
      
        @Override
        public void afterConnectionEstablished(WebSocketSession session)
            throws Exception {
          // 與客戶端完成連接后調(diào)用
          System.out.println("afterConnectionEstablished");
          System.out.println("getId:" + session.getId());
          System.out.println("getLocalAddress:" + session.getLocalAddress().toString());
          System.out.println("getTextMessageSizeLimit:" + session.getTextMessageSizeLimit());
          System.out.println("getUri:" + session.getUri().toString());
          System.out.println("getPrincipal:" + session.getPrincipal());
          System.out.println(soslistService.getsss());
          session.sendMessage(new TextMessage("你好"));
          
          users.add(session);
        }
      
        @Override
        public void handleTransportError(WebSocketSession session,
            Throwable exception) throws Exception {
          // 消息傳輸出錯時調(diào)用
          System.out.println("handleTransportError");
        }
      
        @Override
        public void afterConnectionClosed(WebSocketSession session,
            CloseStatus closeStatus) throws Exception {
          // 一個客戶端連接斷開時關(guān)閉
          System.out.println("afterConnectionClosed");
        }
      
        @Override
        public boolean supportsPartialMessages() {
          // TODO Auto-generated method stub
          return false;
        }
      }

      看完上述內(nèi)容,你們對如何在spring環(huán)境中搭建websocket有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


      本文標(biāo)題:如何在spring環(huán)境中搭建websocket
      文章轉(zhuǎn)載:http://www.ef60e0e.cn/article/jjcoho.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        大连市| 新绛县| 张家界市| 会东县| 保定市| 乐亭县| 诸城市| 南漳县| 西贡区| 花莲市| 礼泉县| 林芝县| 临邑县| 梓潼县| 集贤县| 庄浪县| 抚远县| 洪湖市| 万源市| 隆化县| 石首市| 崇礼县| 西乌珠穆沁旗| 和田县| 泰宁县| 景德镇市| 大邑县| 慈溪市| 吴忠市| 南汇区| 南丹县| 临高县| 信丰县| 黄冈市| 利津县| 巧家县| 泰和县| 四会市| 德保县| 确山县| 太康县|