флаттер http сообщение не удается заблокировать соединение с эмулятором Android на Windows 10 - PullRequest
0 голосов
/ 17 мая 2019

мой код Flutter выглядит следующим образом:

var url = "http://localhost:49912/api/Account/Register";
http
    .post(url,
    headers: {"Content-Type": "application/json"},
    body: js)
    .then((response) {
  print("Response status: ${response.statusCode}");
  print("Response body: ${response.body}");
});

http-ответ: [ОШИБКА: flutter / lib / ui / ui_dart_state.cc (148)] Необработанное исключение: SocketException: ошибка ОС: соединение отказано,errno = 111, address = localhost, port = 37316

Теперь я знаю, что мой серверный код работает за пределами эмулятора, покопался и попытался использовать Chrome из эмулятора, попробуйте перейти к 127.0.0.1 и получить то же самоеошибка.после некоторых копаний я обнаружил, что должен использовать 10.0.2.2 (специальный псевдоним для вашего интерфейса обратной связи с хостом (т. е. 127.0.0.1 на вашей машине разработки), поэтому я набираю 10.0.2.2 в эмуляторе chrome и вижу свой сервер IISexpress.затем я изменяю свой URI на 10.0.2.2:49912, так как мое приложение прослушивает порт 49912 и получает 400 неверных запросов - неверное имя хоста

болезненный

1 Ответ

0 голосов
/ 17 мая 2019

наконец понял, что попытался позвонить в мой сервис, используя 127.0.0.1 от Почтальона, и получил тот же неверный запрос.IIS Express прослушивает localhost, поэтому необходимо убедиться, что он прослушивает 127.0.0.1, отредактировав файл
applicationhost.config в папке .vs вашего решения.добавить следующую строку <binding protocol="http" bindingInformation="*:49912:127.0.0.1" />

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...