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