【发布时间】:2020-05-24 23:13:47
【问题描述】:
我想知道 DDS 是否可以在互联网上使用,以及它是否是在线游戏的好选择。
我在 RTI 网站上看到他们支持 WAN,但这是否意味着我可以订阅来自世界另一端的其他参与者的主题?
如果是这种情况,QoS 保证会怎样?
谢谢。
【问题讨论】:
-
在公共互联网上没有 QoS保证。
标签: networking distributed-database opendds rti-dds
我想知道 DDS 是否可以在互联网上使用,以及它是否是在线游戏的好选择。
我在 RTI 网站上看到他们支持 WAN,但这是否意味着我可以订阅来自世界另一端的其他参与者的主题?
如果是这种情况,QoS 保证会怎样?
谢谢。
【问题讨论】:
标签: networking distributed-database opendds rti-dds
免责声明:我全职从事 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。另外需要注意的是,支持 Internet 的 RTPS 没有标准化,因此 Connext 和 OpenDDS 无法通过 WAN 进行通话。
【讨论】:
由于带宽要求,OpenDDS 仅适用于非常受限环境中的游戏。如果所有用户都在同一个 LAN 上,那么 RTPS 使用的 UDP 多播方法对于点对点游戏架构将是有效的。但是,如果添加了远程用户,那么每个对等点都必须将每次更新都直接发送给其他对等点的要求将很快导致带宽需求激增。
鉴于 RTPS 中继已经是另一个需要运行的应用程序,如果用户并非都在一个 LAN 网段上,那么一个游戏服务器会更有效地处理来自同级的更新并发送世界状态。
p>【讨论】: