如何通过UDP发布TCP主机?

时间:2013-01-07 15:36:39

标签: sockets networking tcp udp

我有一个应用程序(实际上是一个游戏),它通过UDP向私人LAN上的许多连接客户端广播游戏状态数据。

UDP适用于广播游戏状态。无需配置客户端对于此应用程序非常重要。客户端只是读取UDP数据报流并建立状态。

但是现在我需要客户端从服务器可靠地下载一些大数据负载。 TCP比UDP更好。

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

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

2 个答案:

答案 0 :(得分:1)

客户端需要知道TCP服务器的IP和端口,即全部。如果您可以将这些信息嵌入到您的协议中,它将会起作用。

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

答案 1 :(得分:0)

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