前言
????????早前做過直播間聊天,服務(wù)器端為了兼容Html5,選用WebSocket協(xié)議建立全雙工連接。WebSocket起初是為了解決瀏覽器全雙工連接,目前已經(jīng)支持移動端(iOS && Android)。同時也支持C++,Python,Java等語言。那么WebSocket是什么呢?跟Socket有啥區(qū)別?
WebSocket協(xié)議
https://www.zhihu.com/question/20215561
知乎高贊的這篇文章把原理講得生動透徹
與原生Socket的區(qū)別
建立連接
WebSocket建立連接(握手過程)是基于Http;Socket建立連接是基于TCP握手過程。
性能
Socket在性能方面由于WebSocket
round trip time:Socket比WebSocket快10倍。Socket花費2微妙,WebSocket需要20微妙。
并發(fā):Socket支持更高的并發(fā),WebSocket較差。同等條件下Socket可以支持幾百個線程,而WebSocket開到到100個就跑不順暢了。
內(nèi)存:TCP耗費的內(nèi)存比WebSocket少