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

游戲服務器使用 UDP 協議的特點:
一般來說 UDP 是無連接的,但是對于游戲來說,是肯定需要有明確的客戶端的,所以就不能簡單用一個 UDP socket 的fd 來代表客戶端,這就造成了上層的代碼無法簡單在 UDP 和 TCP 之間保持一致。因此游戲服務器這里使(shi)用 Peer 這個抽象層,正好可(ke)以接近(jin)這個問題(ti)。這也(ye)可(ke)以用于那些使(shi)用某(mou)種消息隊列(lie)中(zhong)間件的(de)(de)(de)情況,因為可(ke)能(neng)這些中(zhong)間件,也(ye)是多路(lu)復用一個 fd 的(de)(de)(de),甚至可(ke)能(neng)就不是通(tong)過使(shi)用 fd 的(de)(de)(de) API 來開發的(de)(de)(de)。
另外,為了實現游戲服務器之間的通信,還需要設計和 Tansport 對應的一個類型:Connector 。這個抽象基類,用于以客戶端模型對服務器發起請求。其設計和 Transport 大同小異。除了 Linux 環境下的 Connecotr ,我還實現了在 C# 下的代碼,以便用 Unity 開發的客戶端可以方便的使用。由于游戲服務器 .NET 本身就支持異步模型,所以其實現也不費太多功夫。【艾娜小編】

