记录使用HttpListener疑惑;
使用HttpListener HTTP 协议侦听器,
listener.Prefixes.Add(s);
增加统一资源标识符 (URI) 前缀,
会看到这种设置:
listener.Prefixes.Add(“http://+:3820/”);
这里的“+”不理解,查了MSDN,记录一下:
若要使用 HttpListener ,请使用构造函数创建类的新实例, HttpListener 并使用 Prefixes 属性获取对包含字符串的集合的访问权限,这些字符串指定哪个统一资源标识符 (URI) HttpListener 应处理的前缀。
URI 前缀字符串由方案 (http 或 https) 、主机、可选端口和可选路径组成。 完整前缀字符串的一个示例是 http://www.contoso.com:8080/customerData/ 。 前缀必须以正斜杠结尾 ( "/" ) 。 HttpListener带有与请求的 URI 最匹配的前缀的对象响应请求。 多个 HttpListener 对象不能添加相同的前缀; Win32Exception 如果 HttpListener 添加已在使用的前缀,则会引发异常。
指定端口后,可以使用 "" 替换主机元素, * 以指示 HttpListener 如果请求的 URI 与任何其他前缀不匹配,则接受发送到端口的请求。 例如,若要接收发送到端口8080的所有请求,当请求的 URI 未由任何处理时 HttpListener ,前缀为 http:// * : 8080/。 同样,若要指定 HttpListener 接受发送到端口的所有请求,请将主机元素替换为 "+" 字符。 例如, https://+:8080 。 " * " 和 "+" 字符可以出现在包含路径的前缀中。