我有一个应用程序(实际上是一个游戏),它通过UDP向私人LAN上的许多连接客户端广播游戏状态数据。
UDP适用于广播游戏状态。无需配置客户端对于此应用程序非常重要。客户端只是读取UDP数据报流并建立状态。
但是现在我需要客户端从服务器可靠地下载一些大数据负载。 TCP比UDP更好。
但我们仍然不必使用主机信息配置每个客户端。 最好只在广播UDP流中嵌入服务广告,然后让每个客户端看到广告并连接到TCP主机,而不在端点上进行额外配置。
是否有标准方式或更好的示例代码通过UDP通告TCP服务。最好是在C ++中。
答案 0 :(得分:1)
客户端需要知道TCP服务器的IP和端口,即全部。如果您可以将这些信息嵌入到您的协议中,它将会起作用。
实际上,UDP客户端可能已经知道IP,因为UDP数据包具有发送方IP。也许这个事实可以帮助你。
答案 1 :(得分:0)
这里的一个选项(可能不仅仅是游戏而是一些“企业”服务)是在本地DNS中设置SRV
个记录。