今天的重點(diǎn)是講如何在Android中脫離WebView使用WebSocket,而不是在Web瀏覽器使用,如果是在Web瀏覽器中使用,網(wǎng)上已經(jīng)太多教程、框架和demo,沒必要講。
到目前為止我個(gè)人認(rèn)為安卓端比較好用的WebSocketClient有: autobahn、 AndroidAsync、 Java-WebSocket。好不好用其實(shí)需要看實(shí)際需求而定,此處我選擇Java-WebSocket。
一、Android客戶端的創(chuàng)建(使用Java-WebSocket庫):
1、其實(shí)只需要掌握一個(gè)類,WebSocketClient即可
2、指定IP/域名和端口連接服務(wù)器,當(dāng)服務(wù)器端有通知時(shí)會回調(diào)onMessage方法
3、然后調(diào)用connect方法進(jìn)行連接
4、連接后就可以發(fā)送消息了,發(fā)送消息也很簡單,除了支持String的發(fā)送還支持byte發(fā)送,好了,客戶端就這么愉快的寫完了(詳細(xì)代碼見后面打包的demo)。
二、服務(wù)端的創(chuàng)建:
1-1、 Java Application服務(wù)端創(chuàng)建(使用Java-WebSocket庫),其實(shí)也很簡單,就繼承一個(gè)類WebSocketServer:
1-2、然后在main方法中開啟服務(wù)端,現(xiàn)在就可以用Android客戶端來連接進(jìn)行聊天、接收推送了,實(shí)在是太簡單了。
2-1、 Java Web(tomcat)服務(wù)端創(chuàng)建,這里不使用Java-WebSocket庫,直接使用Java API javax.websocket包中的WebSocket相關(guān)類(注意Java API只實(shí)現(xiàn)了標(biāo)準(zhǔn)的RFC 6455(JSR256),如果你非要選擇其它早期草案則需要用Java-WebSocket來實(shí)現(xiàn),在Java-WebSocket中連接協(xié)議“ Draft_17”就是標(biāo)準(zhǔn)的RFC 6455(JSR256),另外要使用Java API javax.websocket包中的WebSocket相關(guān)類要求JDK7及以上,Tomcat 7.0.49及以上):
2-2、然后啟動tomcat就可以愉快的用Android客戶端來連接進(jìn)行聊天、接收推送了。
demo代碼下載: websocket聊天測試demo.zip
原創(chuàng)隨筆,轉(zhuǎn)載注明出處。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com