Android WebSocket開發

來源:互聯網
上載者:User

標籤:依賴   add   監聽   exce   end   ESS   code   sage   串連   

一,在模組build.gradle中添加webSocket的依賴包

//WebSocket 依賴包implementation ‘com.neovisionaries:nv-websocket-client:2.2‘

二,串連webSocket

  try {          WebSocket ws = new WebSocketFactory().createSocket(url, CONNECT_TIMEOUT) //ws地址,和設定逾時時間                    .setFrameQueueSize(FRAME_QUEUE_SIZE)//設定幀隊列最大值為5                    .setMissingCloseFrameAllowed(false)//設定不允許服務端關閉串連卻未發送關閉幀                    .addListener(wsListener = new WsListener())//添加回調監聽                    .connectAsynchronously();//非同步串連        } catch (IOException e) {            e.printStackTrace();        }

三、添加內部類,實現回調監聽

/**     * 繼承預設的監聽空實現WebSocketAdapter,重寫我們需要的方法     * onTextMessage 收到文字資訊     * onConnected 串連成功     * onConnectError 串連失敗     * onDisconnected 串連關閉     */    class WsListener extends WebSocketAdapter {        @Override        public void onTextMessage(WebSocket websocket, String text) throws Exception {            super.onTextMessage(websocket, text);            logger.info(text);            String[] msgs = text.split("\\|");            if (msgs.length >= 2) {                NotificationShow(msgs[0], msgs[1]);                sendReceiveMessageBroadcast(msgs[0], msgs[1]);            }        }        @Override        public void onConnected(WebSocket websocket, Map<String, List<String>> headers)                throws Exception {            super.onConnected(websocket, headers);            logger.info("串連成功");        }        @Override        public void onConnectError(WebSocket websocket, WebSocketException exception)                throws Exception {            super.onConnectError(websocket, exception);            logger.warning("串連錯誤:" + exception.getMessage());        }        @Override        public void onDisconnected(WebSocket websocket, WebSocketFrame serverCloseFrame, WebSocketFrame clientCloseFrame, boolean closedByServer)                throws Exception {            super.onDisconnected(websocket, serverCloseFrame, clientCloseFrame, closedByServer);            logger.warning("中斷連線");        }    }

 

Android WebSocket開發

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.