viv*_*viv 1 c c++ unix network-programming unix-socket
我正在尝试用 C 编写服务器-客户端套接字程序。目标是让服务器侦听特定端口,但跨越属于同一 IP 子网的 IP 地址范围。这个 IP 子网是127.xxx范围的一部分(当然不是 127.0.0.1)。
需要注意的几点:
我不想为该范围内的每个 IP 地址在服务器上打开多个套接字。这是不可扩展的。
任何帮助将不胜感激。这甚至可行吗?
您只能绑定到单个套接字上的一个地址。为什么不能绑定到 INADDR_ANY 并简单地拒绝任何未绑定到目标 IP 的数据包?或者,您可以绑定到任意端口并使用操作系统级魔法(例如 iptables、bpf)将发往这些 IP/端口组合的数据包重新路由到您的套接字。