请你帮我解决我的问题。一方面我有服务器IP 172.27.13.2连接到路由器172.27.13.1的WAN接口...然后在我的路由器192.168.1.1的无线局域网上我连接了几个客户端。现在我将在C中编写代码,其中客户端从服务器请求一些UDP流,然后服务器向客户端广播流,如果某些数据包丢失,客户端必须将NACK发送到服务器。我的问题是: 因为服务器和客户端在不同的子网上,我如何从服务器广播? 以及客户端如何将请求和NACK发送到服务器,因为它们位于不同的子网中? 这些问题是通过路由器配置还是C代码解决的?
感谢您的帮助
答案 0 :(得分:1)
您无法向不同的子网广播。路由器通常不会将广播数据包转发到不同的子网,除非您有一个可以正确配置的非常特殊的路由器(例如Cisco ...)。但是,您可以使用多播来执行此类任务。这是a C example
同时检查:UDP broadcast packets across subnets
注意:c示例中的某些内容缺少,但很容易找到
答案 1 :(得分:1)
兼顾服务器和放大器用户在不同的子网中。由于路由器不转发广播。但我们通过修改路由器配置来解决。 如果你有cisco路由器&用户在cisco交换机上连接,你可以在vlan上启用ip helper address命令。你可以在路由器ACL上允许udp数据包