1

我想知道 DDS 是否可以在互联网上使用,以及它是否是在线游戏的好选择。

我在 RTI 网站上看到他们支持 WAN,但这是否意味着我可以订阅来自世界另一端的另一个参与者的主题?

如果是这种情况,QoS 保证会发生什么情况?

谢谢。

4

2 回答 2

0

免责声明:我全职从事 OpenDDS 工作,但没有网络游戏编程经验。

支持互联网的 DDS 可用于连接游戏客户端。这是否是一个好主意是我目前无法在没有具体信息的情况下回答的问题,但 QoS 部分是一个很好的问题。据我所知,在 OpenDDS 中,我们尝试遵守用户定义的 QoS,就好像它是一个普通的 RTPS 连接一样。这意味着在 Internet 上使用它可能需要对 QoS 进行一些调整,具体取决于您要使用的 QoS。例如,如果在本地网络上使用最后期限 QoS,则可能必须放宽时间段,因为 Internet 的延迟更大。

对于 OpenDDS,支持 Internet 的 RTPS 在 OpenDDS 开发人员指南的第 15 章中进行了描述:http: //download.objectcomputing.com/OpenDDS/OpenDDS-latest.pdf。除了使用 ICE 来克服 NAT 之外,我们还有一个称为 RTPS 中继的功能,可以在客户端无法使用 ICE 时启用连接。

我不熟悉这里的 RTI Connext 有哪些具体功能,但据我所知,它们是相似的,因为它们也使用 ICE。另外应该注意的是,支持互联网的 RTPS 不是标准化的,因此 Connext 和 OpenDDS 将无法通过 WAN 进行通话。

于 2020-04-29T00:40:00.550 回答
0

由于带宽要求,OpenDDS 仅适用于非常受限环境中的游戏。如果所有用户都在同一个 LAN 上,那么 RTPS 使用的 UDP 多播方法对于点对点游戏架构将是有效的。但是,如果添加了远程用户,那么每个对等点都必须将每个更新直接发送给每个其他对等点的要求将很快导致带宽需求爆炸式增长。

鉴于 RTPS 中继已经是另一个需要运行的应用程序,如果用户并非都在一个 LAN 网段上,那么一个游戏服务器会更有效地处理来自对等点的更新并发送世界状态。

于 2020-08-09T07:49:40.767 回答