2014-12-19 117 views
2

您好我想知道如何設置UDPClients以實現實時的客戶策略與UDPClients

我工作在C#一個簡單的網絡遊戲之間的雙向通信雙向通信,它應該是可能的爲玩家舉辦一場比賽,併爲他人連接到它

主機會發出新的遊戲狀態,每隔X毫秒,並且將同時從其他玩家接收用戶輸入的連續流

的其他玩家將不斷地等待新的輸入狀態並且將用戶輸入發送給主機

我想知道的是如何做到這一點。

我是否應該使用2個不同的UDPClients,如果他們嘗試同時使用相同的資源,是不是有潛在的線程衝突?如果不是,我是否需要以某種特殊方式設置它們,否則如果我使用1個UDPClient,是否有什麼特別的我需要考慮,還是線程安全,我可以在接收時發送新消息?

回答

1

UDP是一個雙工協議(如TCP)。

您可以同時安全地發送和接收UDPClient對象。你應該不是使用兩個UDPClient對象。

但是,那些操作發生在單獨的線程(或僞線程,如果你使用await/async),所以你可能會遇到調用代碼中的同步問題(顯然很難說沒有看到它,但潛力是存在的)。