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

一、WebSocket的使用場景swift

  (1)社交聊天服務器

    聊天特色:低延遲,高及時。框架

  (2)彈幕socket

  (3)多玩家遊戲學習

  (4)協同編輯socket.io

  (5)股票基金實時報價spa

  (6)體育實況更新視頻

  (7)視頻會議/聊天接口

  (8)基於位置應用遊戲

  (9)在線教育

  (10)智能家居

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

二、WebSocket誕生由來

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

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

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

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

  (3)WebSocket的誕生

     如今急需的需求是能支持客戶端和服務器的雙向通訊,並且協議的頭部又不像HTTP的Header那麼大,因而WebSocket就誕生了

三、談談WebSocket協議原理

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

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

四、WebSocket和Socket的區別與聯繫

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

  Socket在通信過程當中,服務器監聽端口是否有鏈接請求。客戶端向服務器發送鏈接請求,服務端收到鏈接請求就給客戶端發送消息,這樣就創建起一個鏈接。客戶端和服務端以後就能夠互發消息了。

  因此,基於WebSocket和Socket均可以開發出IM社交聊天類的APP

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

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

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

六、IOS平臺如何實現WebSocket

  自行百度學習。

相關文章
相關標籤/搜索