3

我是这个领域的绝对新手,我有点害怕走上网络编程的错误道路。我正在尝试为我的游戏引擎构建一个强大的网络库。

我在网上查看并看到有一个带有 boost 的网络库,我很想使用它,因为我真的很想进一步将它与我的代码库集成。但我想知道,我将如何编码和调试这样的事情?如果我只想在一台 PC 上开发,我如何模拟一个具有专用/对等服务器和 x 数量的玩家连接到它的网络环境?

4

4 回答 4

2

您可以在一台 PC 上简单地启动多个进程。您可以在本地使用网络 (127.0.0.1)。或者您可以使用虚拟机。

于 2010-01-08T12:27:56.567 回答
2

您必须在您的机器上运行服务器并运行播放器代码的 x 个副本。

然后,您可以调试服务器或其中一个播放器。

这不会模拟网络延迟和丢包之类的事情,它将允许您测试交互以及在一定程度上测试系统在负载下的行为方式。

您可以获得一些可以模拟网络延迟等的工具,但这通常会花费您的钱(就像这个一样),但是那里会有一些免费的替代品。

于 2010-01-08T12:28:28.550 回答
1

我认为让您最接近真实情况的方法是设置连接到您的服务器的虚拟机,该服务器在您的实际机器上运行。

于 2010-01-08T12:29:12.683 回答
0

如果您只需要确认您的游戏是否成功连接,我会安装多个虚拟机并将它们全部置于 NAT 模式,以便每个虚拟机都从您的 DHCP 服务器接收一个唯一的 IP。如果你真的可以控制你的路由器,你甚至可以为每个 Vmachine 的 MAC 地址设置一个专用 IP,这样你就可以记录哪个 IP 地址给你带来了问题,并将它与哪台机器相关联。通过一些努力(以及一些 Hackintoshing),您甚至可以扩展此设置以进行基于操作系统的测试。

于 2010-01-08T12:36:08.630 回答