C# HttpListener 指定的网络名称格式无效。

6
我有一小段代码,其中我尝试为我的 HttpListener 添加前缀:
listener = new HttpListener();
listener.Prefixes.Add("http://192.168.0.108:8088/");
listener.Start();

出现的异常:

System.Net.HttpListenerException (0x80004005):指定的网络名称格式无效

我已经尝试了所有方法:关闭防火墙、以管理员身份运行、使用 netsh http urlacl 注册给定的 URL,但是,到目前为止仍然没有任何作用。

我使用 netstat 检查了该地址是否可以使用,发现是可以的。关于这件事情奇怪的是,在 Windows 10 秋季创作者更新之前,我一直在使用这个地址,但是自从更新后,只有 localhost 能够正常工作。

我还有其他遗漏或者可以尝试的方法吗?


以0x8开头的错误是无效的指针或地址。监听器只能在本地计算机上运行。那么你的电脑IP地址是192.168.0.108吗? - jdweng
不,我已经检查过了,我的电脑地址是不同的,可能是本地网络中的另一个设备? - Lukáš Moravec
1个回答

13

你可能忘记了配置系统以便从指定的IP地址接收 HTTP 协议通信。尝试运行以下命令来包括它:

你可能忘记了配置系统以便从指定的IP地址接收 HTTP 协议通信。尝试运行以下命令来包括它:

netsh http add iplisten 192.168.0.108

完成后,请检查地址列表(其中应该现在出现您的IP):

netsh http show iplisten

然后尝试再次运行您的代码。


1
是的!非常感谢!我已经将服务器的代码更改为本地主机前缀,但我还将客户端请求地址更改为192.168.0.108,它可以工作!完美! - Lukáš Moravec

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接