天天看點

簡單聊一下socket和websocket的關系

長連結裡,socket才是老大,小弟可以很牛逼,但離不開老大。

socket是tcp/ip協定的封裝接口,可以寫最底層的通信代碼。

websocket是基于socket的TCP協定實作的應用層協定。

那麼問題來了,簡單聊聊人們比較關注的關系和差別,刨根問底的請自行查閱相關資料

問: 為什麼會有websocket呢,而不用私有協定通信呢

簡單答: 浏覽器是基于HTTP标準的用戶端,基于浏覽器的web頁面自然無法也不能直接使用socket直接與服務端進行通信,是以隻能用應用層協定websocket。

問: 為什麼後端不使用websocket做服務呢

簡單答: 核心還是協定差別和是否需要。當然也可以用,畢竟使用門檻低,協定成熟。

如果有自己的APP終端,條件業務都允許,還是建議基于socket做一個自己的通信協定。 websocket屬于公開協定,雖然能實作業務的功能,但還是比較顯得比較臃腫。 此時,自己建構私有協定就可以比較輕量和靈活了。

繼續閱讀