@Auratos

Xamarin Forms. Как извне подключиться по IP к серверу во время отладки?

Добрый день. Товарищи, у меня возникла проблема – не могу извне подключиться к серверу во время отладки, запущенному внутри эмулятора на Xamarin Forms. Именно во время отладки! Т.е. у меня есть клиент – отдельное устройство с SIM-картой, которое через мобильную сеть по IP и порту подключается к серверу. Так вот, когда я компилирую проект и запускаю приложение (сервер) на телефоне, то клиент спокойно ко мне подключается. А вот внутрь эмулятора во время отладки не хочет.
Сеть корпоративная. IP адрес корпоративного сервера - 94.198.1.105. Клиент (устройство) стучится на этот адрес на порт 2781. А сервер уже перенаправляется данные на IP моей рабочей машины - 192.168.1.90 и порт 2780.

Кратенько опишу способы, что я уже попробовал.
1) у меня есть простенький самописный клиент – консольное приложение, которое также стучится по IP и порту. Сервер запускаю в отладке с параметрами 127.0.0.1:2780, клиент запускаю на той же машине, он стучится на 127.0.0.1:2780. Пробрасываю данные с порта 2780 реальной машины на порт 2780 эмулятора следующей командой
adb – s forward tcp:2780 tcp:2780
Запускаю сервер и клиент – клиент подключается к серверу в отладке.

2) компилирую проект. Запускаю сервер на телефоне, узнаю IP телефона средствами C# - IP 192.168.1.90. Создаю точку доступа 192.168.1.90:2780. Клиент (устройство) стучится на 94.198.1.105:2781 и подключается к моему мобильному серверу.

3) клиент (устройство) стучится на 94.198.1.105:2781. Запускаю сервер в отладке в эмуляторе, получаю его IP средствами C# - IP 192.168.232.2. Создаю точку доступа - 192.168.232.2:2780. Сервер запущен. Пробрасываю порт
adb – s forward tcp:2780 tcp:2780
Клиент не видит сервер. При этом в самом эмуляторе проверяю внешний IP через браузер на 2ip.ru – там показывает, что IP 94.198.1.105, т.е. IP нашего корпоративного сервера.

4) повторяю все действия из пункта 3). Но пытаюсь еще пробросить данные с 192.168.1.90:2780 (локального IP моей рабочей машины) на 192.168.232.2:2780 (локальный IP эмулятора) следующим способом через командную строку:
netsh interface portproxy
add v4tov4 listenport=2780 listenaddress=192.168.1.90 connectport=2780 connectaddress=192.168.232.2
show all

Клиент (устройство) куда-то подключается время от времени, но это не отладчик. Сбрасываю настройки netsh (пишу в командной строке “reset”), и клиент больше не может подключиться.

Подскажите, пожалуйста, если ли еще какие-нибудь способы?
Вот приблизительная схема, как организуется доступ
5d6030c1729b7484735060.jpeg
  • Вопрос задан
  • 24 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Auratos Автор вопроса
Неужели никто с этим не сталкивался? Я думал, что это довольна популярная ситуация - отладка сервера. Просто я, видимо, делаю это не так. Либо что-то еще не настроил, чтобы извне можно было приконектиться к отладчику. Подскажите, пожалуйста, хотя в каком направлении копать?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Ингипро Москва
от 60 000 до 100 000 руб.
Sellfashion Нижний Новгород
от 120 000 до 180 000 руб.
Duotek Москва
от 150 000 до 190 000 руб.