端口转发(P2P连接)

时间:2012-03-30 04:20:45

标签: c# portforwarding

我遇到了一个我应该处理的奇怪情况。

情况是: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路由器的连接。

注意:路由器没有任何防火墙选项,意味着最便宜的一个:)并在本地局域网上测试了我的代码,工作正常!

如果有人有任何想法分享请? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

虽然我尚未提供此功能,但我发现了对Microsoft所做功能的一个很好的解释,部分解释了NATUPnP 1.0类型库,它用于配置和管理端口转发。

http://pietschsoft.com/post/2009/02/05/NET-Framework-Communicate-through-NAT-Router-via-UPnP.aspx