HttpListener没有在主机外听?

时间:2012-03-20 16:36:01

标签: c# .net webserver httplistener

我可以使用HttpListener来侦听来自同一台计算机的请求,但我还没弄清楚如何让它听取外部请求。

我的前缀是: “http://192.168.103.82:5000/”

我也尝试过: 的 “http:// *:5000 /”

我可以在浏览器中输入我的本地网络IP并获得响应。但是,如果我在同一网络上的另一台计算机上做同样的事情,那就没有运气了。

我需要做一些额外的配置吗?这是操作系统特定的问题吗?我正在运行Windows 7 Home。

2 个答案:

答案 0 :(得分:5)

您需要允许端口5000通过Windows防火墙。

答案 1 :(得分:3)

从命令:netsh http add urlacl

  

可以使用以下命令:

     

此上下文中的命令:add cacheparam - 添加HTTP服务缓存   参数add iplisten - 将IP地址添加到IP侦听列表。   add sslcert - 为IP添加SSL服务器证书绑定   地址和端口。添加超时 - 向全局超时添加   服务。 add urlacl - 添加URL保留条目。 PS   C:\ Users \用户dwalker> netsh http add urlacl?

     

用法:添加urlacl [url =]                [[user =]                                  [[listen =] yes | no [delegate =] yes | no]                  |                  [SDDL =]                ]

     

参数:

Tag        Value
url      - The fully qualified URL
user     - The user or user-group name
listen   - One of the following values:
           yes: Allow the user to register URLs. This is the Default value.
           no: Deny the user from registering URLs
delegate - One of the following values:
           yes: Allow the user to delegate URLs
           no: Deny the user from delegating URLs. This is the default value.
sddl     - SDDL string that describes the DACL
     

备注:此命令保留非管理员用户的URL和            账户。可以使用NT帐户名指定DACL            使用listen和delegate参数或使用SDDL字符串。

     

示例:

     add urlacl url=http://+:80/MyUri user=DOMAIN\user
     add urlacl url=http://www.contoso.com:80/MyUri user=DOMAIN\user listen=yes
     add urlacl url=http://www.contoso.com:80/MyUri user=DOMAIN\user delegate=no
     add urlacl url=http://+:80/MyUri sddl=...

示例:netsh http add urlacl user=Everyone url="http://192.168.103.82:5000/"