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
自行百度學習。