2014-12-19 78 views
2

您好我想知道如何设置UDPClients以实现实时的客户策略与UDPClients

我工作在C#一个简单的网络游戏之间的双向通信双向通信,它应该是可能的为玩家举办一场比赛,并为他人连接到它

主机会发出新的游戏状态,每隔X毫秒,并且将同时从其他玩家接收用户输入的连续流

的其他玩家将不断地等待新的输入状态并且将用户输入发送给主机

我想知道的是如何做到这一点。

我是否应该使用2个不同的UDPClients,如果他们尝试同时使用相同的资源,是不是有潜在的线程冲突?如果不是,我是否需要以某种特殊方式设置它们,否则如果我使用1个UDPClient,是否有什么特别的我需要考虑,还是线程安全,我可以在接收时发送新消息?

回答

1

UDP是一个双工协议(如TCP)。

您可以同时安全地发送和接收UDPClient对象。你应该不是使用两个UDPClient对象。

但是,那些操作发生在单独的线程(或伪线程,如果你使用await/async),所以你可能会遇到调用代码中的同步问题(显然很难说没有看到它,但潜力是存在的)。