0

我有一个应用程序(本质上是一个游戏),它通过 UDP 将游戏状态数据广播到专用 LAN 上的许多连接的客户端。

UDP 适用于广播游戏状态。不必配置客户端对于此应用程序很重要。客户端只是读取 UDP 数据报流并在它进行时建立状态。

但现在我需要客户端从服务器可靠地下载几块大数据有效负载。TCP 比 UDP 要好得多。

但是我们仍然不必为每个客户端配置主机信息。最好在广播 UDP 流中嵌入服务广告,然后让每个客户端看到广告并连接到 TCP 主机,而无需在端点上进行额外配置。

是否有通过 UDP 广告 TCP 服务的标准方法或更好的示例代码。最好在 C++ 中。

4

2 回答 2

1

客户端需要知道 TCP 服务器的 IP 和端口,仅此而已。如果您可以将该信息嵌入到您的协议中,它将起作用。

实际上,UDP 客户端可能已经知道 IP,因为 UDP 数据包有一个发送方 IP。也许这个事实可以帮助你。

于 2013-01-07T16:16:34.827 回答
0

这里的一个选项(可能不仅仅是游戏,而是一些“企业”服务)是SRV在本地 DNS 中设置记录。

于 2013-01-07T16:53:44.663 回答