0
即时通讯使用http://managedupnp.codeplex.com/ API开放使用UPnP我的NetGear DG834G路由器下面的代码端口..他们对UPNP/WCF移植有任何其他要求吗?
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记录。我可以看到端口正在本地计算机上侦听,而我的局域网上的其他PC可以连接到端口,但使用它显示为关闭的在线端口检查程序,即使路由器说它应该转发到正确的内部IP。
有没有人有任何想法或我错过了什么?
最好的问候,
克里斯托弗·利奇