c++ - TCP 与 Enet 进行带大厅的在线纸牌游戏?

标签 c++ networking tcp enet

我正在开发一款 PC 在线回合制纸牌游戏。它有一个大厅,可以自动更新事件游戏列表,因此我将向许多客户发送许多更新。我将为此准备一个游戏服务器。延迟对我来说并不是什么大问题,如果玩家有时必须额外等待 1/4 秒才能显示他们的卡,这并不真正关心我。我关心的是可靠性和稳定性。我希望能够举办许多 4 人游戏,我也允许人们观看特定的游戏。

我还需要让他们登录,并在他们断开连接时记住他们的 session ,以便他们在断开连接时可以返回游戏。

我正在争论的是我是否应该选择基于 UDP 且可靠的 Enet,或者普通的旧式 TCP/IP。

我最终需要能够向他们发送创建的附加内容,例如 zip 文件形式的附加牌组。但为此,我确信有一个库可以帮助我从 HTTP 源获取这些内容。

如果有人对其中一个或两个有经验,我将不胜感激您的意见。

谢谢

最佳答案

我会坚持使用经典的 TCP,而不是某些将正确排序和数据包传输可靠性侵入到并非为其设计的协议(protocol)中的库。

Enet 声称拥有 TCP 的一些优点,同时为“实时”游戏提供速度。这句话让我想起了 FPS,它根本不是你的应用程序。

关于c++ - TCP 与 Enet 进行带大厅的在线纸牌游戏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10074430/

相关文章:

c# - ToString ("f2"中的 .NET 舍入错误)

c++ - 动态找出Lua function()的返回值个数?

c++ - Windows 套接字 accept() 返回错误值

java - 是否应该在支持套接字关闭之前关闭 Java 流?

java - 两个 android 设备之间的 TCP 连接(即使使用 NAT)

c++ - 数字生成 C++

c++ - DirectSound:如何改变麦克风的输入音量?

java - tomcat中奇怪的IP地址

linux - Nginx 没有正确释放 TCP 套接字?

tcp - 如何等到您的 TCP 消息被确认