2

我的 c# httplistener 仅在我在本地网络中发送请求时才捕获请求(从使用本地 IP 的同一 wifi 上的机器)。

当我查看我的公共 ip(在谷歌中使用“我的 ip”)并通过该 url 输入获取请求时,我没有收到任何响应,并且我的事件不会在 Visual Studio 中触发

我正确地为它加上了前缀 listener.Prefixes.Add("http://*:2999/"); 并设置了访问控制标头,它通过本地 url 请求完美地工作,只是不公开

此外,还有很多关于它不能在主机之外工作的问题,我的可以,只是不能在本地网络之外,因为公共 ip 没有得到响应

编辑:有没有办法做到这一点而不必在路由器上做任何事情?我在大学网络上,无法访问路由器端口设置

4

2 回答 2

4

您需要将端口 2999 从路由器的 WAN 端转发到服务器。此过程是特定于制造商的,并且可以在网络上轻松搜索。

于 2012-09-11T00:37:37.153 回答
0

C# HttpListener 在本地计算机或本地网络(Windows7)上为我工作(使用正确的端口转发)。如果我访问 Internet 作为响应,HttpListener 总是给出错误 50 * 可能有禁令,但我不知道它在哪里配置。我不得不使用 TcpListener 并手动解析 HTTP 请求。

于 2012-09-27T10:29:14.530 回答