1樓:匿名使用者
xmpp協議的即時通訊方案,openfire androidpn,等等。它們都是使用了apache mina開發,但是這些東西基本都需要二次改造開發。而且改動還很大,我也看過這些東西的原始碼,發現**結構不太理想,耦合的情況太多,實在不好擴充套件。
所謂xmpp 協議。只不過是別人使用mina 自定義了一個訊息編碼解碼協議。通俗的講就是,xml形式訊息的編碼與解碼,我們完全沒有必要在國外這套不成熟的openfire 與xmpp 上耗費過多的精力去研究,我們完全可以通過apache mina 自定義自己的通訊協議,並可以為它使用自己的名字。
我們不要盲目崇拜國外的有些東西,自己掌握原理,才是最重要的,各位切記~
這套im系統為我個人自主開發 使用了 apache mina ,主要功能為 服務端和客戶端,客戶端 到客戶端的即時通訊,可以支援包括文字 **,語音等任何訊息形式 服務端使用的 struts2+spring3和 apache mina android端 也使用的apache mina。這套im系統結構還是非常清晰合理的,非常容易擴充套件和改造,下面是android版本 的 demo的目的是隻是一個演示 ,可以參照它的**,使用這套系統開發自己的東西,核心價值是一套高靈活性,相對標準化的即時通訊解決方案,即時聊天只是它的一種運用途徑!
2樓:八維教育
首先你需要實現一個自帶心跳的連線,發現斷開則嘗試連線,其次你需要在監控網路狀態發現網路狀態斷開則停止心跳,如果網路狀態連線則繼續心跳。
然後你收到資料之後應該通過確認資料包,確認,否則伺服器應該重發資料包。這一點很重要,否則你肯定會「丟訊息」。
另外netty是可以在android上使用的,如果有可能你最好用拉的方式輪詢而不是push。
有沒有android與伺服器進行socket通訊的開源**框架
android做im 有沒有合適的socket框架
android上怎麼建立,Android 上怎麼建立ServerSocket
我做過這一類的應用。沒看到你的 我也不好說。不過可以提供幾條我當時的經驗。1.記得在manifest中宣告所需要的網路許可權 2.要設定同樣的埠號,且埠用完記得關 3.如果面對多個客戶機,要啟發多執行緒。 不改了,謝謝。伺服器端和客戶端使用serversocket和socket進行遠端的通訊 1 伺...
WebSocket 和 Socket 的區別
websocket是一種長連線協議,用nodejs實現了這個ws協議的庫也叫websocket,github搜尋一下就有。也是實現了ws協議的庫,websocket 用nodejs實現了這個ws協議的庫也叫websocket,github搜尋一下。websocket 和 socket.io 之間的區...
在Mac上開發Android是一種怎樣的體驗
其依辰 其實和具體開發什麼關係不大。個人感覺在開發領域,mac的體驗要好於windows。和幾個同學到外企實習,第一天就每人配了一臺頂配mac pro,以前真沒玩過,一開始的確很不習慣。但是過了一段時間,你就發現原來windows下能幹的事mac都行,實在不行了還有逆天的pd虛擬機器。另外,基本上美...