2011-02-28 52 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()的结果并中断,否则将结果传递给写入调用。你不能假设读取填充缓冲区。

当然也分配每个迭代一个新的字节[]缓冲液是极其浪费的。