首页 > 解决方案 > C++ SFML 客户端-服务器游戏 SocketSelector 设计

问题描述

我正在制作一个小型多人游戏,其中主机玩家从她的应用程序启动一个服务器,该服务器为每个人运行游戏逻辑并为她显示图形。最多 3 个其他玩家需要能够连接(当前通过 TCPSocket 连接)以接收游戏状态以在他们的计算机上渲染,因此他们可以向主机计算机发送输入命令以更新游戏状态。

我已经能够使用阻塞套接字和 SocketSelector 来实现连接,并且我已经实现了从客户端发送更新游戏状态的命令,但是,通过可用的文档和教程,我不明白如何将 runServer 代码和主机分开在不使用额外线程的情况下更新和渲染代码。我被告知选择器应该足够了,这样我就不需要打开新线程来保持不断的游戏时间更新。我的问题是要求提供这种实施方式的任何示例。

标签: c++multithreadingsocketssfmlblocking

解决方案


推荐阅读