如果我尝试运行使用HttpListener而没有root的程序,则会引发此exception。
未处理的exception:System.Net.Sockets.SocketException:访问被拒绝 在System.Net.Sockets.Socket.Bind(System.Net.EndPoint local_end)[0x00000] in:0 在System.Net.EndPointListener..ctor(System.Net.IPAddress addr,Int32端口,布尔安全)[0x00000] in:0 在System.Net.EndPointManager.GetEPListener(System.Net.IPAddress addr,Int32端口,System.Net.HttpListener监听器,布尔安全)[0x00000] in:0 在System.Net.EndPointManager.AddPrefixInternal(System.String p,System.Net.HttpListener监听器)[0x00000] in:0 在System.Net.EndPointManager.AddListener(System.Net.HttpListener监听器)[0x00000] in:0
我怎么能让HttpListener被root用户使用?
如果您希望在端口80上进行监听,则需要由root用户启动。 如果你可以在1024以上的端口上监听,那么任何用户都应该能够启动它。
如果您希望其他用户能够在端口80上启动此侦听,那么您需要允许他们通过sudo运行它。