2011-02-28 65 views
-1

我想使從端口轉發路由器IP到本地IP如何?在C# 我有使用接收本地IP驗證碼我想使端口轉發使用c#

r.Bind(new IPEndPoint(IPAddress.Any, int.Parse(this.textBox2.Text))); 
while (true) 
      { 
       br = new byte[16384]; 
       r.Receive(br); 
       m_Fifo.Write(br, 0, br.Length); 
      } 

其中BR =緩衝,TextBox2中=本地,IP R球窩 我在這個線程使用代碼嘗試,但我無法連接他們C# Raw Sockets Port Forwarding

+0

標記更多答案已被接受! – RQDQ

回答

0

端口轉發在您的路由器配置中處理。 每個端口轉發規則都必須通過路由器的Web界面,telnet/SSH界面或路由器隨附的其他軟件手動設置。

還有就是你的路由器從一個C#應用程序上向前創建一個端口,除非你通過HTTP /遠程登錄/ SSH連接到它,並通過必要的命令來創建規則沒有通用的方法。我不建議你這樣做。

另外,一些路由器需要重新啓動,當您更改這些設置,您可能需要您的網絡/ Internet連接完全恢復之前,等待5分鐘。

不管怎樣,即使你想出一個辦法這樣做,它可能是一個非常糟糕的想法從你的C#應用​​程序路由器配置進行修補。

也許可以解釋,爲什麼你要轉發的端口?也許有一種替代解決方案。

0

而且你的代碼是錯誤的。您需要檢查EOS的read()的結果並中斷,否則將結果傳遞給寫入調用。你不能假設讀取填充緩衝區。

當然也分配每個迭代一個新的字節[]緩衝液是極其浪費的。