如何进行端口转发
本文关键字:转发 何进行 | 更新日期: 2023-09-27 17:56:41
我正在尝试对我的项目进行端口转发,以替代当前的udp打孔。原因是因为我希望客户端在没有服务器干预的情况下开始相互通信。在.net中,我们可以使用natupnplib,但它似乎无法正常工作(例如,它不适用于我家的wifi)。Mono.Nat似乎也不是解决方案。
我知道有一种方法可以做到这一点,因为uTorrent在我检查的每台PC上都会进行端口映射。(我知道它可能在任何地方都不兼容,但我希望它在uTorrent工作的设备上工作)
我已经在互联网上查看了用于端口转发的开源 bittorents 实现,但没有找到。在 .net 环境中编写的解决方案会很棒。那么,我该怎么做呢?:)
关于端口转发
可以使用 UPNP 和/或 PMP(或其较新版本 PCP - 端口控制协议)在 .NET 项目中执行端口转发。目前,大多数可用设备都支持 UPNP,即使在其中许多设备中默认禁用 UPNP。
常见问题
有几个原因导致某些图书馆无法在您的 wifi 中正常工作。首先,请确保您已在NAT设备中启用了upnp。如果启用,则可能您测试的库仅支持 IP 路由 (WANIPConnection),不支持 ADSL 调制解调器 (WANPPPConnection)。
单声道和家用设备
官方的Mono.Nat仅适用于支持WANIPConnection(IP路由器)的设备,但是有很多设备(家用设备)只允许WANPPPConnection(ADSL调制解调器 - 这可能是您的情况)。但是,您可以使用已经支持WANPPPConnection的更好的mantained分叉之一。
建议
如果你使用.NET 4.5,我推荐Open.NAT(是的,它是由我开发的),它适用于家用设备,比Mono.Nat更快,更新。
祝你好运!