如何进行端口转发

本文关键字:转发 何进行 | 更新日期: 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更快,更新。

祝你好运!