1

请如果你能帮助我解决我的问题。一方面,我有 IP 172.27.13.2 的服务器连接到路由器 172.27.13.1 的 WAN 接口......然后在我的路由器 192.168.1.1 的无线 LAN 上,我连接了几个客户端。现在我将在 C 中编写代码,其中客户端从服务器请求一些 UDP 流,然后服务器向客户端广播流,如果一些数据包丢失,客户端必须向服务器发送 NACK。我的问题是:因为服务器和客户端位于不同的子网中,我如何从服务器进行广播?以及客户端如何向服务器发送请求和 NACK,因为它们位于不同的子网中?这些问题是否可以通过路由器配置或 C 代码来解决?

感谢您的帮助

4

2 回答 2

1

您不能广播到不同的子网。路由器通常不会将广播数据包转发到不同的子网,除非您有一个可以正确配置的非常特殊的路由器(例如 Cisco ...)。但是,您可以将多播用于此类任务。这是一个 C 示例

另请检查:跨子网的UDP广播数据包

注意:c 示例中的一些包含缺失,但它们很容易找到

于 2014-01-06T10:14:15.860 回答
1

由于服务器和用户都在不同的子网中。由于路由器不转发广播。但是我们通过修改路由器配置来解决。如果您有 cisco 路由器并且用户连接在 cisco 交换机上,您可以在 vlan 上的交换机上使用 ip helper address 命令。您可以在路由器 ACL 上允许 udp 数据包

于 2014-01-08T02:28:30.133 回答