我目前正在C#中通過.NET套接字開發一個簡單的在線多人遊戲。遊戲服務器編程(可靠和不可靠的通信)
更確切地說我試圖創建一個圍繞這場比賽的網絡通信結構 - 與其說是比賽本身。現在我有一個工作的HTTP服務器,該服務器負責處理基本要求,如「創建一個新的遊戲實例(聚會)」,「加入現有的黨」等
這是工作正常,但我真的不知道如何處理遊戲實例中的通信。根據我的理解,應該有可靠的溝通和不可靠的溝通。像發送「踢球員」,「暫停遊戲」,「獲得球員列表」請求(可靠)併發送輸入,接收快照(不可靠)。
這是否意味着它將使意義有兩個單獨的插座(UDP和TCP)在不同的端口上運行,所以我實際上有兩個服務器,每場比賽的情況下與溝通?或者有沒有辦法通過一個單一的udp套接字實現保證交付和不可靠交付?
注:我真的不瞄準到達有序分組,所以可靠的,我主要是指確保文實際到達目的地
注2:我真的不希望打擾的HTTP這個遊戲實例具體可靠的東西的服務器,在我看來,這將是更好,如果遊戲實例可以處理這個自己
我看到This question here是相似的,但接受的答案並沒有真正幫助我。我對有關答案的探討是:如何通過C#中的.NET套接字組合可靠和不可靠的通信?
這看起來不錯!這些在我的「方法」中針對每個遊戲實例使用的多個端口也是最讓我困擾的。 所以我想要走的路是隻使用一個UDP套接字,並建立一個自定義的類似於TCP的結構,或者通過手動或使用庫來實現。這樣用戶可以決定是否可靠地發送數據報。 – Jay