2015-05-07 88 views
-1

我建立與聊天系統實現移動應用程序,但我有一些問題:聊天系統信令服務器

  1. 什麼是爲Android & IOS最好的信令服務器?我以前使用過socket.io,但它只適用於javascript。
  2. 我應該將所有用戶套接字存儲在數據庫中嗎?
  3. 還有沒有更有效的方式來建立一個沒有信號服務器的聊天系統?

謝謝你!

回答

0

Socket.io不僅適用於JavaScript。例如,看看成同時支持的WebSocket和Socket.IO連接的下列庫:

的Androidhttps://github.com/koush/AndroidAsync

的iOShttp://socket.io/blog/socket-io-on-ios/

然而,和的WebSockets之間Socket.IO ,我會推薦使用WebSockets。這是一個面向消息的協議,您可以在發送端簡單地使用send()調用,並在接收端立即調用相應的。

WebSockets似乎是要走的路,因爲它們對服務器端和客戶端(AndroidiOS)有很好的支持。

+0

謝謝!我還有另一個問題,我應該使用websockets/socket.io來檢查在線用戶嗎?我有一些想法,當任何用戶登錄到系統時,我將爲該用戶生成令牌並將其存儲在數據庫中!如果用戶註銷,我將刪除該用戶的令牌!這是好還是壞的想法? –

+0

是的,你可以使用這種方法。但是,當您檢測到連接/斷開連接時,爲什麼不簡單地將用戶狀態更改爲「脫機」或「聯機」呢?不需要令牌。 –

+0

但我應該在哪裏存儲令牌,數據庫或服務器?因爲如果將它存儲在服務器上,當服務器有任何問題時,所有令牌都會丟失? –

0

構建像viber這樣的聊天應用程序的最佳方式是使用像xmpp這樣的協議。

你會使用客戶端的asmack和服務器端的openfire。

通過使用此協議可能有offlineMessage,傳遞消息,用戶狀態,vcard,..