我遇到了一个我应该处理的奇怪情况。
情况是:2台路由器(ISP使用静态IP)和每台路由器后面的2台主机。假设IP地址是R1_IPAddr(路由器1),R1_IPAddr_LocalH1(路由器1后面的主机1)是第一组,R2_IPAddr(路由器2),R2_IPAddr_LocalH2(路由器2后面的主机2)属于第二组。
所以,我的目标是:连接R1_IPAddr_LocalH1和R2_IPAddr_LocalH2。 这就是我做的:R2_IPAddr_LocalH2和R2_IPAddr路由器上的服务器代码(C#)将端口5000转发到R2_IPAddr_LocalH2(已配置但可能需要其他设置)。服务器代码在5000端口号上绑定R2_IPAddr_LocalH2并等待R1_IPAddr_LocalH1机器尝试连接到端口5000上的R2_IPAddr路由器的连接。
注意:路由器没有任何防火墙选项,意味着最便宜的一个:)并在本地局域网上测试了我的代码,工作正常!
如果有人有任何想法分享请? 提前谢谢。
答案 0 :(得分:0)
虽然我尚未提供此功能,但我发现了对Microsoft所做功能的一个很好的解释,部分解释了NATUPnP 1.0类型库,它用于配置和管理端口转发。
http://pietschsoft.com/post/2009/02/05/NET-Framework-Communicate-through-NAT-Router-via-UPnP.aspx