2012-03-30 33 views
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。

有没有人有任何想法或我错过了什么?

最好的问候,

克里斯托弗·利奇

回答

0

是。我在路由器上执行了工厂恢复,启用了UPnP,打开了服务主机并创建了转发。有效。

即使Teredo决定上线。

从初学者的角度来看,它并不总是你的代码(你的理解)的错。有时它的硬件。

感谢,

克里斯托弗·利奇

相关问题