Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# UPnP映射错误的端点?_C#_Ip_Nat_Portforwarding_Upnp - Fatal编程技术网

C# UPnP映射错误的端点?

C# UPnP映射错误的端点?,c#,ip,nat,portforwarding,upnp,C#,Ip,Nat,Portforwarding,Upnp,我正尝试在c#中使用UPnP Com组件来执行一个名为“”的操作,下面的代码可以很好地工作,并将新的外部ip和端口号映射到我的设备,但似乎该ip不是我正确的外部ip号,因为它与我在ip查找网站(和)中获得的不同 这是我的c代码(用于映射): 在具有Ip外观的网站中,我获得了另一个外部Ip(46.32.126.221),我尝试使用其他工具映射我的设备,例如,我遇到了相同的问题 您能帮我吗?您是否用C代码指定了正确的接口?可能是外部ip映射到不正确的接口我选择了当前具有internet连接的接口您的

我正尝试在c#中使用UPnP Com组件来执行一个名为“”的操作,下面的代码可以很好地工作,并将新的外部ip和端口号映射到我的设备,但似乎该ip不是我正确的外部ip号,因为它与我在ip查找网站(和)中获得的不同

这是我的c代码(用于映射):

在具有Ip外观的网站中,我获得了另一个外部Ip(46.32.126.221),我尝试使用其他工具映射我的设备,例如,我遇到了相同的问题


您能帮我吗?

您是否用C代码指定了正确的接口?可能是外部ip映射到不正确的接口我选择了当前具有internet连接的接口您的路由器外部ip仍在专用地址范围内:或者您有另一个NAT设备(可能是电缆调制解调器或类似设备)正在路上,或者您的Internet提供商有一个。@jku那么您认为我如何解决这个问题?对于您控制的设备,您可以尝试更改它们的设置(例如,定义端口映射或将设备设置为“切换模式”(如果有)。如果NAT在您的ISP控制下,您可以尝试向他们支付更多费用以获得真正的IP。
NATUPNPLib.UPnPNATClass upnpnat = new NATUPNPLib.UPnPNATClass();
NATUPNPLib.IStaticPortMappingCollection mappings = upnpnat.StaticPortMappingCollection;
mappings.Add(20000, "UDP", 20000, "192.168.8.102", true, "Local Web Server");
foreach (NATUPNPLib.IStaticPortMapping portMapping in mappings)
{
    Console.WriteLine(portMapping.Description); //gives me "Local Web Server"
    Console.WriteLine(portMapping.ExternalIPAddress); // gives me "10.178.196.123"
    Console.WriteLine(portMapping.Enabled); // gives me "True"
}