您好我想知道如何设置UDPClients以启用客户端之间的实时双向通信
我正在使用C#编写一个简单的网络游戏,玩家可以主持游戏,也可以让其他人连接游戏
主持人每X毫秒发出一次新的游戏状态,并同时接收来自其他玩家的连续用户输入流
其他玩家将不断等待新的输入状态,并将用户输入发送给主机
我想知道的是如何实现这一目标。
我是否应该使用2个不同的UDPClients,如果他们试图同时使用相同的资源,是否存在潜在的线程冲突?如果没有,我是否需要以某种特殊的方式设置它们,否则如果我使用1个UDPClient,我需要考虑什么特殊的东西,或者它是否是线程安全的,我可以在接收时发送新消息?< / p>
答案 0 :(得分:1)
UDP是双工协议(如TCP)。
您可以安全地同时发送和接收UDPClient
对象。您应该不使用两个UDPClient
个对象。
然而,那些操作做发生在不同的线程(或伪线程,如果你使用await / async),所以你可能会遇到调用代码中的同步问题(显然很难说没有看到它,但潜力就在那里。)