iOS 使用WebSocket

前言

        早前做过直播间聊天,服务器端为了兼容Html5,选用WebSocket协议建立全双工连接。WebSocket起初是为了解决浏览器全双工连接,目前已经支持移动端(iOS && Android)。同时也支持C++,Python,Java等语言。那么WebSocket是什么呢?跟Socket有啥区别?

WebSocket协议

https://www.zhihu.com/question/20215561

知乎高赞的这篇文章把原理讲得生动透彻

与原生Socket的区别

建立连接

WebSocket建立连接(握手过程)是基于Http;Socket建立连接是基于TCP握手过程。

性能

Socket在性能方面由于WebSocket

round trip time:Socket比WebSocket快10倍。Socket花费2微妙,WebSocket需要20微妙。

并发:Socket支持更高的并发,WebSocket较差。同等条件下Socket可以支持几百个线程,而WebSocket开到到100个就跑不顺畅了。

内存:TCP耗费的内存比WebSocket少

参考文章

Swift WebSocket开源库:starscream
WebSocket VS Socket

你可能感兴趣的:(iOS 使用WebSocket)