【问题标题】:Port forwarding (P2P connection)端口转发(P2P 连接)
【发布时间】:2012-04-13 18:49:45
【问题描述】:

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

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

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

如果有人有任何想法可以分享吗? 提前致谢。

【问题讨论】:

    标签: c# portforwarding


    【解决方案1】:

    虽然我还没有实现此功能,但我找到了一篇关于 Microsoft 实现的功能的好文章,部分解释了用于配置和管理端口转发的 NATUPnP 1.0 类型库。

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

    【讨论】:

    • 非常感谢您的回答先生。你技术丰富 :) 现在,我的问题又问你了 :) 我没有配置我的路由器将 5000 端口转发到我的主机。但是,当我在本地机器上注册端口转发时(在您发布的程序的 NAT 表中)它工作正常。因此,从这一点路由器不转发,但机器要求从路由器转发 5000 端口。是真的还是我很困惑?
    • 您是对的,程序本质上是告诉路由器将端口 xxxx 上的所有数据定向到您的计算机以处理数据传输。这就是 bitTorrent 的工作原理。
    • 太棒了!感谢您验证我的观点。希望你变得更富有:)
    猜你喜欢
    • 2015-11-08
    • 2011-06-09
    • 2015-02-22
    • 1970-01-01
    • 2019-05-16
    • 1970-01-01
    • 2013-04-11
    • 2018-07-01
    相关资源
    最近更新 更多