C# 路由器后面的HttpListener

C# 路由器后面的HttpListener,c#,dns,httplistener,C#,Dns,Httplistener,我刚刚完成了一个可以用来保存网页的程序(我出于特定原因需要它),我编写了一个html前端来使用它(一个表单),它可以工作,但只有当我从localhost[localhost:4001]浏览页面时,如果我尝试使用我的动态dns地址,我的HttpListener才能收到请求(它的端口是转发的,而uTorrent webui与它的连接端口一起工作) 我不想发布我的完整代码。这只是大量的字符串处理,但有些部分: server = new HttpListener(); server.Prefixes.A

我刚刚完成了一个可以用来保存网页的程序(我出于特定原因需要它),我编写了一个html前端来使用它(一个表单),它可以工作,但只有当我从localhost[localhost:4001]浏览页面时,如果我尝试使用我的动态dns地址,我的HttpListener才能收到请求(它的端口是转发的,而uTorrent webui与它的连接端口一起工作)

我不想发布我的完整代码。这只是大量的字符串处理,但有些部分:

server = new HttpListener();
server.Prefixes.Add("http://+:4001/");
public void StartListening()
{
   server.Start();
   server.BeginGetContext(new AsyncCallback(ContextProc), null);
}
我是否留下了一些东西,HttpListener需要什么来通过internet接收连接


(我尝试使用端口80[通常apache使用此端口],但什么也没有发生)

您是否尝试从框本身浏览到框的内部地址(例如192.168.1.1:4001)(以验证应用程序正在侦听接口,而不仅仅是环回)也可以从您网络内部的另一个盒子中获取?如果是这样,并且没有工作;那么您可以将其缩小到您的路由器,但您需要提供有关您的路由器的信息。它与我的专用ip地址一起工作,我不认为这是路由器的问题,其他一切都可以工作(apache,utorrent),我使用了dyndns-s开放端口工具,它表明端口(4001)未打开。我认为这可能是问题所在,但我如何打开该端口?好吧,我很愚蠢,我玩了几天portforwarding,不小心从4001删除了转发,然后我注意到防火墙已打开,现在问题解决了。