Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.08.2019, 21:16   #1
Auratos
Пользователь
 
Регистрация: 01.06.2015
Сообщений: 20
По умолчанию 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”), и клиент больше не может подключиться.

Подскажите, пожалуйста, если ли еще какие-нибудь способы?
Вот приблизительная схема, как организуется доступ
схема.jpg
Auratos вне форума Ответить с цитированием
Старый 28.08.2019, 15:58   #2
Auratos
Пользователь
 
Регистрация: 01.06.2015
Сообщений: 20
По умолчанию

Неужели никто с этим не сталкивался? Я думал, что это довольна популярная ситуация - отладка сервера. Просто я, видимо, делаю это не так. Либо что-то еще не настроил, чтобы извне можно было приконектиться к отладчику. Подскажите, пожалуйста, хотя в каком направлении копать?
Auratos вне форума Ответить с цитированием
Старый 29.08.2019, 08:48   #3
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Да все такая же проблема. Создайте им условия чтобы они были в одной сети. Либо физически дайте адреса из одной группы либо маршрутами пропишите.
Помимо ip маски укажите. Рабочая машина и эмулятор как я понимаю в разных подсетях сидят.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 29.08.2019, 09:21   #4
Auratos
Пользователь
 
Регистрация: 01.06.2015
Сообщений: 20
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Да все такая же проблема. Создайте им условия чтобы они были в одной сети.
А как мне сделать так, чтобы они были в одной сети? Клиент - прибор с SIM-картой; рабочая машина, где запускается отладчик - компьютер с IP, который выдал корпоративный сервер. И главное, клиент то достреливает до моего компьютера. А вот как перенаправление дальше сделать, с какими параметрами запускать сервер в отладчике, я пока не нашел такой информации.
Команда adb forward помогла, когда я на одной и той же машине запустил и консольного клиента, и сервер в отладке. Сервер запустил по адресу 127.0.0.1, и клиент только после adb команды смог по этому адресу подключиться.
Auratos вне форума Ответить с цитированием
Старый 29.08.2019, 10:01   #5
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

с сетями так сложно на вскидку сказать. Это надо своими руками щупать и смотреть всю систему.
А зачем вам такой отладчик? Попробуйте подойти с другой стороны и пропишите создание подробного лога. И потом по сообщениям анализируйте работу.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Xamarin. Android. Организация доступа к сокет-серверу Auratos C# (си шарп) 10 26.08.2019 20:21
Xamarin forms ListViewPage не показывает данные arnora WPF, UWP, WinRT, XAML 0 30.03.2019 14:52
Как подключиться к серверу Windows Bright-rider Работа с сетью в Delphi 3 18.11.2013 18:34
как правильно подключиться к SQL серверу? uraura БД в Delphi 4 19.10.2010 20:28
Помогите подключиться к серверу. КривойПрограммист Помощь студентам 1 27.10.2007 23:41