激战的后厨2观看完整版,強姦亂倫強姦在线观看,国产无套内射普通话对白,老头呻吟喘息硕大撞击,他扒开我小泬添我三男一女视频

廈門服務器租用>業界新聞> 游戲服務器使用 UDP 協議的特點

游戲服務器使用 UDP 協議的特點

發布時間:2020/6/18 15:30:59    來源: 縱橫數據


游戲服務器使用 UDP 協議的特點:
一般來說 UDP 是無連接的,但是對于游戲來說,是肯定需要有明確的客戶端的,所以就不能簡單用一個 UDP socket 的fd 來代表客戶端,這就造成了上層的代碼無法簡單在 UDP 和 TCP 之間保持一致。因此游戲服務器這里使用 Peer 這個抽象層,正好可以接近這個問題。這也可以用于那些使用某種消息隊列中間件的情況,因為可能這些中間件,也是多路復用一個 fd 的,甚至可能就不是通過使用 fd 的 API 來開發的。

對于 Transport 定義,對于 TCP 的實現者來說,是非常容易能完成的。但是對于 UDP 的實現者來說,則需要考慮如何寵妃利用 Peer ,特別是 Peer.fd_ 這個數據。我在實現的時候,使用了一套虛擬的 fd 機制,通過一個客戶端的 IPv4 地址到 int 的對應 Map ,來對上層提供區分客戶端的功能。在 Linux 上,這些 IO 都可以使用 epoll 庫來實現,在 Peek() 函數中讀取 IO 事件,在 Read()/Write() 填上 socket 的調用就可以了。
另外,為了實現游戲服務器之間的通信,還需要設計和 Tansport 對應的一個類型:Connector 。這個抽象基類,用于以客戶端模型對服務器發起請求。其設計和 Transport 大同小異。除了 Linux 環境下的 Connecotr ,我還實現了在 C# 下的代碼,以便用 Unity 開發的客戶端可以方便的使用。由于游戲服務器 .NET 本身就支持異步模型,所以其實現也不費太多功夫。【艾娜小編】
在線客服
微信公眾號
免費撥打400-1886560
免費撥打0592-5580190 免費撥打 400-1886560 或 0592-5580190
返回頂部
返回頭部 返回頂部