微信、QQ這類IM APP怎麼做——談談WebSocket

1、WebSocket的使用場景

  (1)社交聊天

    聊天特點:低延遲,高及時。

  (2)彈幕

  (3)多玩家遊戲

  (4)協同編輯

  (5)股票基金實時報價

  (6)體育實況更新

  (7)視頻會議/聊天

  (8)基於位置應用

  (9)在線教育

  (10)智能家居

    家裏的智能設備的狀態必須要實時展現到手機APP客戶端上,毫無疑問選擇了WebSocket。

2、WebSocket誕生由來

  (1)最開始的輪詢Polling階段

     客戶端和服務器之間會一直進行連接,每隔一段時間就會詢問一次。

  (2)改進版的長輪詢Long Polling階段

     客戶端發送HTTP請求A給服務器,服務器會等待下一個請求B到了之後纔回將A的回覆返回給客戶端。

  (3)WebSocket的誕生

     現在急需的需求是能支持客戶端和服務器的雙向通信,而且協議的頭部又不像HTTP的Header那麼大,於是WebSocket就誕生了。

3、談談WebSocket協議原理

  WebSocket是應用層第七層的一個應用層協議,他必須依賴HTTP協議進行一次握手,握手成功後,數據就直接從TCP通道傳輸出去了,與HTTP無關了。

  WebSocket的數據是以frame的形式傳輸。

4、WebSocket和Socket的區別與聯繫

  首先,Socket不是一個協議。他工作在OSI模型中的第5層(會話層),是爲了方便大家直接使用更底層協議(一般是TCP或者UDP)而存在的一個抽象層。Socket是對TCP/UDP協議的封裝,Socket本身不是協議,只是一個調用接口(API)。

  Socket在通訊過程中,服務器監聽端口是否有連接請求。客戶端向服務器發送連接請求,服務端收到連接請求就給客戶端發送消息,這樣就建立起一個連接。客戶端和服務端之後就可以互發消息了。

  所以,基於WebSocket和Socket都可以開發出IM社交聊天類的APP。

5、IOS平臺有哪些WebSocket和Socket開源框架

  Socket開源框架:CocoaAsyncSocket     socketio/socket.io-chlient-swift

  WebSocket開源框架:facebook/SocketRocket      tidwall/SwiftWebSocket

6、IOS平臺如何實現WebSocket

  自行百度學習。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章