gpt4 book ai didi

c# - 异步/同步和 TCP 或 UDP

转载 作者:太空宇宙 更新时间:2023-11-03 11:26:14 25 4
gpt4 key购买 nike

我对 C# 中的同步和异步套接字感到很困惑,我想在 LAN 网络上开发一个游戏,但我不知道哪个更适合我的 Hangman 游戏应用程序。

此游戏可以玩单人模式或两人模式。

在单人模式下,只有一名玩家与 serer 互动

但 2 名玩家模式 2 名玩家通过回合制与服务器交互。这意味着如果玩家 A 猜错了单词,他就失去了轮到玩家 B 的机会。

你能给我一些关于同步和异步的建议吗?

此外,如果客户端不需要输入服务器IP,客户端如何找到服务器?这意味着我应该在 TCP 和 UDP 之间选择什么

最后一个问题是我可以创建一个服务器是异步的但客户端是同步的,可以吗?

非常感谢

最佳答案

选择异步与同步的重要部分是如何使通信与 GUI 线程交互。不要让同步套接字阻塞您的 UI。我在这里看到的文章给出了一个想法,并提供了一些关于在 Windows 编程中使用异步的指导。 Winsock tips

关于 TCP/UDP 的第二个问题,您应该知道两者之间有很多区别。首先,TCP 将在连接有效时保证数据包传送。鉴于您的情况以及简单的要求和缺乏性能需求。 TCP 可能是您的最佳选择。如果您正在设计一款高性能游戏,您必须允许丢弃数据包并更好地处理延迟,那么 UDP 将成为更好的选择,但您必须考虑当您丢弃数据包和出现乱序数据包时会发生什么。 TCP 向您隐藏了所有这些复杂性,并将使使用它变得更简单。

混契约(Contract)步和异步客户端/服务器应该不会出现问题。他们只知道通信链路本身 (TCP/UDP)。

关于c# - 异步/同步和 TCP 或 UDP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9248897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com