Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 18.08.2019, 11:05   #1
Auratos
Пользователь
 
Регистрация: 01.06.2015
Сообщений: 20
Репутация: 10
По умолчанию Xamarin. Android. Организация доступа к сокет-серверу

Добрый день. Веду разработку в Xamarin Forms под Android. Пытаюсь поднять сокет-сервер на смартфоне. В качестве клиента выступает консольное приложение.
Адрес сервера(смартфона) я получаю следующим образом:

Код:
IPAddress[] adresses = Dns.GetHostAddresses(Dns.GetHostName());
if (adresses != null && adresses[0] != null)
{
      adr = adresses[0].ToString();
}
strendpoint = adr + ":2780";
IPEndPoint localEndPoint = CreateIPEndPoint(strendpoint);
_server = new TcpListenerServer(localEndPoint);
Затем захожу на 2ip.ru со смартфона, узнаю свой IP и вбиваю его в клиент:

Код:
const int port = 2780;
const string address = "85.26.233.137";
client = new TcpClient(address, port);
NetworkStream stream = client.GetStream();
Так вот. Клиент таки образом не может достучаться до сервера. Если подключаю смартфон к домашнему Wi-Fi (т.е. и сервер, и клиент теперь находятся в одной сети), и адрес у него становиться что-то вроде 192.168.0.105, то клиент по такому адресу может подключиться.
Заметил, что адрес, что выдает 2ip.ru, когда я работаю через оператора (Megafon), отличается от адреса, что указан в параметрах телефона в разделе "Об устройстве" - там он такой 100.99.225.236. Но по этому адресу клиент тоже не может достучаться. Подскажите, пожалуйста, как правильно организовать данную систему?
Auratos вне форума   Ответить с цитированием
Старый 18.08.2019, 12:41   #2
WorldMaster
Профессионал
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Адрес: Россия, Мурманск
Сообщений: 2,267
Репутация: 646

icq: 359393755
По умолчанию

Никак. Это серый ip. Заказывайте услугу статичного адреса у провайдера тогда и сможете установить связь. Либо организуйте сервер трансляции который с белым адресом который будет виден всем клиентам и через него передавайте пакеты клиентам.
__________________
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
Если помог - нажми на весы
WorldMaster вне форума   Ответить с цитированием
Старый 18.08.2019, 13:00   #3
Auratos
Пользователь
 
Регистрация: 01.06.2015
Сообщений: 20
Репутация: 10
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Никак. Это серый ip.
Вот, мы как раз собираемся для дальнейшей работы приобрести у оператора симку со статическим адресом. Но я не был уверен, что это поможет. А расскажите, пожалуйста, поподробнее: я считал, что статический (белый) адрес поможет только тем, что адрес станет постоянным. А на серые адреса еще какие-то ограничения накладываются оператором? Просто такой информации я не нашел в явном виде. Серый ip закрыт, получается, от внешнего мира?
Auratos вне форума   Ответить с цитированием
Старый 18.08.2019, 13:03   #4
WorldMaster
Профессионал
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Адрес: Россия, Мурманск
Сообщений: 2,267
Репутация: 646

icq: 359393755
По умолчанию

Серый это адрес nat маршрутизатора. Через него группа лиц может выходить с разных портов. Сам аппарат переодически обновляет порты . Чтобы этого не было нужно частенько отправлять пустой запрос. Где то статью видел как можно через удп организовать связь через nat. Но стоит ли это затрат ещё стоит подумать.
__________________
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
Если помог - нажми на весы
WorldMaster вне форума   Ответить с цитированием
Старый 18.08.2019, 13:21   #5
Auratos
Пользователь
 
Регистрация: 01.06.2015
Сообщений: 20
Репутация: 10
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Но стоит ли это затрат ещё стоит подумать.
Ну а возвращаясь к самой проблеме: тем способом, что я организую клиент и сервер, ничего не меняя в коде, с белым IP должно получиться?
Auratos вне форума   Ответить с цитированием
Старый 18.08.2019, 13:24   #6
WorldMaster
Профессионал
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Адрес: Россия, Мурманск
Сообщений: 2,267
Репутация: 646

icq: 359393755
По умолчанию

С белым все будет работать. Сам делал кучу проектов.
__________________
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
Если помог - нажми на весы
WorldMaster вне форума   Ответить с цитированием
Старый 18.08.2019, 13:27   #7
Auratos
Пользователь
 
Регистрация: 01.06.2015
Сообщений: 20
Репутация: 10
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
С белым все будет работать. Сам делал кучу проектов.
Спасибо большое, Вам, за разъяснение
Auratos вне форума   Ответить с цитированием
Старый 26.08.2019, 16:56   #8
Auratos
Пользователь
 
Регистрация: 01.06.2015
Сообщений: 20
Репутация: 10
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
С белым все будет работать. Сам делал кучу проектов.
Добрый день. Я вам продублировал это сообщение на ваш email. Извините, пожалуйста, если вы его там уже прочитали Просто мне максимально быстро нужно решить задачу, которая пока для меня неразрешима. Может быть вы что-то сможете подсказать.
Мы на Мегафоне подключили эту опции для одной из SIM-карт - тариф "Интернет вещей", использующий какую-то современную технологию передачи данных. Все порты, насколько я понял, открыты.
Но мне так и не удалось связать клиента с сервером, запущенном на смартфоне.
Вы сказали, что сделали уже кучу проектов. Подскажите, пожалуйста, хотя бы в какую сторону копать? Пока только вы мне хоть что-то ответили.
Просто нам при оформлении тарифа предоставили точку доступа VPN11.VOLGA.
Я нашел в смартфоне, как создать точку доступа APN. Забил следующие данные:
имя - megafon
APN - VPN11.VOLGA
логин - gdata
пароль - gdata
Смартфон получил указанный оператором IP адрес (контрольный) - 172.16.110.48.
Я в своем мобильном приложении получаю данный IP и запускаю сервер:

IPAddress[] adresses = Dns.GetHostAddresses(Dns.GetHostNam e());
string adr = adresses[0].ToString();
string strendpoint = adr + ":2780"; // точка доступа 172.16.11.48:2780
IPEndPoint localEndPoint = CreateIPEndPoint(strendpoint);
TcpListenerServer server = new TcpListenerServer( localEndPoint);

А клиент (отдельное устройство) через другую SIM-карту (с серым IP) пытается подключиться по адресу 172.16.11.48:2780. Но ничего не выходит. Может быть как-то иначе надо сервер запускать? Или при настройке точки доступа APN что-то еще указать?
Помогите, пожалуйста, советом или хотя бы намеком, какую информацию нужно искать?
Auratos вне форума   Ответить с цитированием
Старый 26.08.2019, 17:20   #9
WorldMaster
Профессионал
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Адрес: Россия, Мурманск
Сообщений: 2,267
Репутация: 646

icq: 359393755
По умолчанию

Цитата:
Сообщение от Auratos Посмотреть сообщение
Добрый день. Я вам продублировал это сообщение на ваш email.
Почему то в спам попали. Пишите в скайп там удобнее обсуждать.
__________________
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
Если помог - нажми на весы
WorldMaster вне форума   Ответить с цитированием
Старый 26.08.2019, 18:28   #10
Auratos
Пользователь
 
Регистрация: 01.06.2015
Сообщений: 20
Репутация: 10
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Почему то в спам попали. Пишите в скайп там удобнее обсуждать.
Не могу почему-то найти вас там, чтобы добавить в контакты. Может быть у Вас получится меня добавить - логин auratos.
Название: 123.jpg
Просмотров: 26

Размер: 63.0 Кб
Auratos вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подключение из Xamarin к MySql - Xamarin valter1999 C# (си шарп) 3 05.04.2018 11:06
Mobile developer Xamarin Android/IOS удаленно app-job Работа на постоянной основе - Вакансии 0 01.11.2016 17:57
Xamarin android cyber_NINJA C# (си шарп) 1 05.04.2015 18:20
Организация запроса к серверу DBPorgrammer C/C++ Сетевое программирование 0 21.01.2013 09:19
Как заставить клиентский сокет заново подключится к серверу Vadik(R) Работа с сетью в Delphi 6 01.11.2008 15:30


00:54.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.