它们是否对UPNP/WCF移植有任何附加要求
本文关键字:任何附 WCF 是否 UPNP | 更新日期: 2023-09-27 18:29:34
我使用http://managedupnp.codeplex.com/API在我的NetGear DG834g ROUTER上使用UPNP打开端口,代码如下。。
public void UPNPOpenPort(int port)
{
Services lsServices;
lsServices = Discovery.FindServices("urn:schemas-upnp-org:service:WANPPPConnection:1");
if (lsServices.Count > 0)
using (Service lsService = lsServices[0])
{
try
{
object[] loObj = new object[] { "", port, "TCP", port, "10.0.0.100", true, "Custom Mapping", 0 };
lsService.InvokeAction("AddPortMapping", loObj);
}
catch (Exception loE)
{
MessageBox.Show(
String.Format(
"{0}: HTTPSTATUS: {1}",
loE.Message,
lsService.LastTransportStatus));
}
}
else
{
MessageBox.Show("Doh No Router Found");
return;
}
}
我有一个具有NetTCP绑定的服务主机,该服务主机具有相同的端口im,该端口被馈送到子例程中以设置UPNP转发,并且我可以在路由器配置上看到活动的UPNP记录。我可以看到端口在我的本地机器上侦听,我局域网上的其他电脑可以连接到端口,但使用在线端口检查器,它显示为关闭,即使路由器说它应该转发到正确的内部IP。
有人有什么想法吗?还是我遗漏了什么?
谨致问候,
Christopher Leach
是。我在路由器上执行了工厂恢复,启用了UPnP,打开了服务主机并创建了转发。它奏效了。
就连Teredo也决定上网。
从初学者的角度知道这并不总是你的代码(你的理解)的错,这很好。有时是你的硬件。
谢谢,
Christopher Leach