2012-03-30 57 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決定上線。

從初學者的角度來看,它並不總是你的代碼(你的理解)的錯。有時它的硬件。

感謝,

克里斯托弗·利奇

相關問題