WebSocket是什麼?
WebSocket協議是爲了實現網絡客戶端和服務器端全雙工通信而引入的一種基於消息幀和TCP的通信機制,這個協議本身的目標是爲了在http服務器上引入雙向通信的機制,從而克服http單向通信的缺陷(http設計的初衷就不是爲了雙向通信),其可以在複用http的端口,支持http的代理,認證等,雖然如此,websocket可以獨立於http存在。 詳細的內容可以參考RFC6455(https://datatracker.ietf.org/doc/rfc6455/)裏面有詳細的介紹。
那麼WebSocket與http,socket有什麼區別和聯繫呢。
- WebSocket和http
其實從歷史上來講,websocket是爲了克服http無法雙向通信而引入的,在通常的使用中,可以複用http的端口與功能,除此外,他們沒有其他的聯繫,而是完全是獨立的協議,通常情況下,http是單向的web 服務,而websocket是全雙工的,服務器和客戶端可以實時的傳輸信息,在引用時他們可以在http服務器上同時部署,特別是在NodeJs中。 - WebSocket與Socket
那麼websocket和socket是什麼關係呢? 其實可以理解爲websocket是在socket的基礎上實現的,其基於消息幀和TCP協議,而socket更通用,在編程中,可以選在tcp,udp,也需要自己控制數據流格式,每次的數據的長度都需要自己控制與讀取。
Unity中使用WebSocket
下面是一個,非常簡單的Unity調用WebSocket庫,
- 不需要外部DLL(使用內置
System.Net.WebSockets
) - WebGL/HTML 5支持
- 支持所有主要的構建目標。
- 非常簡單的API
注意:需要使用在.NET 4.x+
鏈接是:https://download.csdn.net/download/qq_38721111/12327492(內有demo)