系统相关
首页 > 系统相关> > C#HttpListener和Windows防火墙

C#HttpListener和Windows防火墙

作者:互联网

我正在处理的其中一个程序有一个内置的Web服务器,只能处理非常具体的请求(静态).与TcpListener不同,当启动HttpListener时,不会提示用户允许程序允许侦听哪些网络.这导致了一个大问题,因为程序需要侦听远程连接,这些连接现在被Windows防火墙拒绝.

如果我在Windows防火墙中创建一个新规则,并在“程序和服务”下选择我的程序,Windows仍将拒绝所有远程连接…但如果我选择“所有符合指定条件的程序”,那么它只能工作精细.我的问题是为什么?为什么防火墙会在专门选择时拒绝我的应用程序?为什么用户不会像其他听众那样得到防火墙安全屏幕的提示?

解决方法:

这是因为HttpListener构建在http.sys之上,它将侦听您代表程序指定的端口.

我还没有找到通过Windows防火墙只允许使用HttpListener的单个程序的方法,但您可能希望仅通过以下方式将入站规则限制为系统组件:

>在“程序和服务”选项卡的“此程序”字段中输入打字系统
>在“协议和端口”选项卡中选择协议类型TCP以及您将要监听的端口

标签:c,httplistener,windows-firewall
来源: https://codeday.me/bug/20190718/1492680.html