Mono HttpListener требует рут?

Если я пытаюсь запустить мою программу, которая использует HttpListener без рута, это исключение.

Необработанное исключение: System.Net.Sockets.SocketException: доступ запрещен
  в System.Net.Sockets.Socket.Bind (System.Net.EndPoint local_end) [0x00000] в:0
  в System.Net.EndPointListener..ctor (System.Net.IPAddress addr, порт Int32, логическая защита) [0x00000] в:0
  в System.Net.EndPointManager.GetEPListener (System.Net.IPAddress addr, порт Int32, прослушиватель System.Net.HttpListener, логический безопасный) [0x00000] в:0
  в System.Net.EndPointManager.AddPrefixInternal (System.String p, прослушиватель System.Net.HttpListener) [0x00000] в:0
  в System.Net.EndPointManager.AddListener (прослушиватель System.Net.HttpListener) [0x00000] в:0

Как я могу разрешить использование HttpListener пользователями помимо root?

1 ответ

Если вы хотите, чтобы он прослушивал порт 80, он должен быть запущен пользователем root. Если у вас все в порядке с прослушиванием порта> 1024, то любой пользователь сможет запустить его.

Если вы хотите, чтобы другие пользователи могли запускать прослушивание через порт 80, вам нужно разрешить им запускать его через sudo.

Другие вопросы по тегам