我可以接受来自Lan和Internet的连接,只能听INADDR_ANY

时间:2012-05-19 00:36:41

标签: sockets listen

我写GateServer来隔离Lan和Internet,Gateserver接受连接并从两端路由数据包。假设在Lan中,PC在Internet上分配了地址10.0.0.40并分配了202.xxx.xxx.xxx,我可以只听取INADDR_ANY从两端收回数据吗?

1 个答案:

答案 0 :(得分:1)

是。但是,由于您在网络之间进行自己的路由,因此如果您创建单独的侦听套接字(一个仅限于LAN IP,另一个仅绑定到Internet IP),则可能使您的逻辑更易于管理。这样,当您的代码收到新连接时,它将确切地知道它是LAN客户端还是Internet客户端。如果您只在两个IP上的一个套接字上侦听,则必须手动确定每个连接来自哪个网络。