繁体   English   中英

C#中的端口转发(与NATUPNPlib一起使用)

[英]portforwarding in c# (matter with NATUPNPlib)

嗨,大家好,我使用下面的代码将9090端口转发到我的笔记本电脑

NATUPNPLib.UPnPNAT upnpnat = new NATUPNPLib.UPnPNAT();
NATUPNPLib.IStaticPortMappingCollection mappings = upnpnat.StaticPortMappingCollection;
mappings.Add(9090, "TCP", 9090, "192.168.1.104", true, "ProApp-SHARE");

和此代码的防火墙权限

string command = "netsh http add urlacl url=http://" + "192.168.1.104" + ":" + "9090" + "/ user=everyone";
StreamWriter ns = new StreamWriter(Application.StartupPath + @"\fw.bat", false);
ns.WriteLine(command);
ns.Close();
Process n = new Process();
n.StartInfo.FileName = Application.StartupPath + @"\fw.bat";
if (System.Environment.OSVersion.Version.Major >= 6)
{
    n.StartInfo.Verb = "runas";
}
n.Start();

当我执行此操作时,我可以从互联网访问运行在192.168.1.104:9090上的本地网站,但是在30秒钟(直到1分钟)内,它刚刚被禁用,我必须再次运行这些代码,有人可以帮助我吗? ??

众所周知,在大多数路由器中UPnP的实现都很差。 您可能想尝试使用其他UPnP库执行端口映射。 Open.NAT

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM