Android中使用WebSocket實現群聊和訊息推送功能(不使用WebView)_Android

來源:互聯網
上載者:User

WebSocket protocol 是HTML5一種新的協議。它實現了瀏覽器與伺服器全雙工系統通訊(full-duplex)。WebSocket是Web2.0時代的新產物,用於彌補HTTP協議的某些不足,不過他們之間真實的關係是兄弟關係,都是對socket的進一步封裝,其目前最直觀的表現就是伺服器推送和聊天功能。更多知識參考:如何理解 TCP/IP, SPDY, WebSocket 三者之間的關係?

今天的重點是講如何在Android中脫離WebView使用WebSocket,而不是在Web瀏覽器使用,如果是在Web瀏覽器中使用,網上已經太多教程、架構和demo,沒必要講。

到目前為止我個人認為安卓端比較好用的WebSocketClient有:autobahn、AndroidAsync、Java-WebSocket。好不好用其實需要看實際需求而定,此處我選擇Java-WebSocket。

一、Android用戶端的建立(使用Java-WebSocket庫):

   1、其實只需要掌握一個類,WebSocketClient即可

   

   2、指定IP/網域名稱和連接埠串連伺服器,當伺服器端有通知時會回調onMessage方法

    

   3、然後調用connect方法進行串連

   

   4、串連後就可以發送訊息了,發送訊息也很簡單,除了支援String的發送還支援byte發送,好了,用戶端就這麼愉快的寫完了(詳細代碼見後面打包的demo)。 

   

二、服務端的建立:

    1-1、Java Application服務端建立(使用Java-WebSocket庫),其實也很簡單,就繼承一個類WebSocketServer:      

    1-2、然後在main方法中開啟服務端,現在就可以用Android用戶端來串連進行聊天、接收推送了,實在是太簡單了。

   

    2-1、Java Web(tomcat)服務端建立,這裡不使用Java-WebSocket庫,直接使用Java API javax.websocket包中的WebSocket相關類(注意Java API只實現了標準的RFC 6455(JSR256),如果你非要選擇其它早期草案則需要用Java-WebSocket來實現,在Java-WebSocket中連線協定“Draft_17”就是標準的RFC 6455(JSR256),另外要使用Java API javax.websocket包中的WebSocket相關類要求JDK7及以上,Tomcat 7.0.49及以上):  

    2-2、然後啟動tomcat就可以愉快的用Android用戶端來串連進行聊天、接收推送了。

  三、相關截圖:

  1-1、Java後台:

  

  1-2、Java後台對應的Android用戶端

  

  2-1、Java Web後台:

  

  2-2、Java Web後台對應的Android用戶端

  

  2-3、html前端(瀏覽器):

  

以上通過圖文並茂的方式給大家介紹了Android中使用WebSocket實現群聊和訊息推送功能(不使用WebView) ,希望對大家有所協助!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.