Предполагая, что ваш сервер приложений является IIS Express, по умолчанию он не работает из-за сетевых ограничений или даже межсетевого экрана.
Прежде всего, как вы уже поняли, клиент должен подключиться к вашему компьютеру ip, а не к localhost. Что-то вроде http://x.x.x.x:port/signalr
Затем вам нужно убедиться, что ваша машина доступна с мобильного телефона или эмулятора: откройте браузер в телефоне и введите известный адрес, например http://x.x.x.x:port/somethingThatExists
.
Если URL не доступен:
- Попробуйте отключить брандмауэр
Открыть PowerShell на компьютере IIS запущенные-Express и запустить это: netsh http add urlacl url=http://{your server ip}:{port}/ user=everyone
. (Если ваш системный язык не английский, например: испанский, изменить «каждый» в «Todos»)
Откройте файл applicationhost.config
в своем решении каталога Solution/.vs/config/applicationhost.config
и поиск узла приложения XML. Что-то вроде <site name="YourAppName" id="1">...</site>
. По умолчанию вы увидите привязку localhost
. Добавить новый с реальным IP: <binding protocol="http" bindinginformation="*:port:x.x.x.x"></binding>
(убедитесь, что IP/порт правильны, а именно:. *:57457:192.168.0.57
)
Restart IIS Express и попробуйте еще раз (нет необходимости перезагрузки системы)
Если у вас есть устройство Android, а localhost - это устройство Android. Каждое устройство или компьютер является его собственным локальным хостом для начала. Поэтому, пожалуйста, объясните свою настройку лучше. – greenapps
Спасибо, что комментировали. Я использовал IP-адрес своего ПК, но он не работал. – Yupi
'но это не сработало'. Это очень плохое описание проблемы. Вы должны попробовать лучше и дать соответствующую информацию. – greenapps