HttpListener не слушает за пределами хост-компьютера? - PullRequest
1 голос
/ 20 марта 2012

Я могу использовать HttpListener для прослушивания запросов, поступающих с того же компьютера, но я не выяснил, как заставить его прослушивать внешние запросы.

Мой префикс: "http://192.168.103.82:5000/"

Iтакже попытался: "http://*:5000/"

Я могу набрать свой локальный сетевой IP-адрес в браузере и получить ответ.Однако, если я сделаю то же самое с другого компьютера в той же сети, не повезет.

Есть ли необходимость в дополнительной настройке?Это специфическая проблема ОС?Я использую Windows 7 Home.

Ответы [ 2 ]

5 голосов
/ 20 марта 2012

Вам нужно разрешить порт 5000 через брандмауэр Windows.

3 голосов
/ 20 марта 2012

Из команды: netsh http add urlacl

Доступны следующие команды:

Команды в этом контексте: add cacheparam - добавляет параметр кэширования службы HTTP; add iplisten - добавляет IP-адрес.адрес в список прослушивания IP.add sslcert - добавляет привязку сертификата сервера SSL для IP-адреса и порта.add timeout - добавляет глобальный тайм-аут в сервис.add urlacl - добавляет запись резервирования URL.PS C: \ Users \ dwalker> netsh http добавить urlacl?

Использование: добавить urlacl [url =] [[user =] [[listen =] yes | no [делегат =] 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-адрес для пользователей и учетных записей, не имеющих прав администратора.DACL может быть задан с помощью имени учетной записи NT с параметрами прослушивания и делегирования или с помощью строки 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/"

...