C# UPnP映射错误的端点?
我正尝试在c#中使用UPnP Com组件来执行一个名为“”的操作,下面的代码可以很好地工作,并将新的外部ip和端口号映射到我的设备,但似乎该ip不是我正确的外部ip号,因为它与我在ip查找网站(和)中获得的不同 这是我的c代码(用于映射): 在具有Ip外观的网站中,我获得了另一个外部Ip(46.32.126.221),我尝试使用其他工具映射我的设备,例如,我遇到了相同的问题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代码指定了正确的接口?可能是外部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"
}