Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Android中脫離WebView使用WebSocket實現群聊和推送功能,webviewwebsocket

Android中脫離WebView使用WebSocket實現群聊和推送功能,webviewwebsocket

編輯:關於android開發

Android中脫離WebView使用WebSocket實現群聊和推送功能,webviewwebsocket


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前端(浏覽器):

  

  

  demo代碼下載:websocket聊天測試demo.zip

 

  原創隨筆,轉載注明出處。

 

轉載注明地址:http://www.chengxuyuans.com/Android/97798.html

問啊-一鍵呼叫程序員答題神器,牛人一對一服務,開發者編程必備官方網站:www.wenaaa.com

QQ群290551701 聚集很多互聯網精英,技術總監,架構師,項目經理!開源技術研究,歡迎業內人士,大牛及新手有志於從事IT行業人員進入!

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved