|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
18.08.2019, 10:05 | #1 |
Пользователь
Регистрация: 01.06.2015
Сообщений: 20
|
Xamarin. Android. Организация доступа к сокет-серверу
Добрый день. Веду разработку в Xamarin Forms под Android. Пытаюсь поднять сокет-сервер на смартфоне. В качестве клиента выступает консольное приложение.
Адрес сервера(смартфона) я получаю следующим образом: Код:
Код:
Заметил, что адрес, что выдает 2ip.ru, когда я работаю через оператора (Megafon), отличается от адреса, что указан в параметрах телефона в разделе "Об устройстве" - там он такой 100.99.225.236. Но по этому адресу клиент тоже не может достучаться. Подскажите, пожалуйста, как правильно организовать данную систему? |
18.08.2019, 11:41 | #2 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
Никак. Это серый ip. Заказывайте услугу статичного адреса у провайдера тогда и сможете установить связь. Либо организуйте сервер трансляции который с белым адресом который будет виден всем клиентам и через него передавайте пакеты клиентам.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
18.08.2019, 12:00 | #3 |
Пользователь
Регистрация: 01.06.2015
Сообщений: 20
|
Вот, мы как раз собираемся для дальнейшей работы приобрести у оператора симку со статическим адресом. Но я не был уверен, что это поможет. А расскажите, пожалуйста, поподробнее: я считал, что статический (белый) адрес поможет только тем, что адрес станет постоянным. А на серые адреса еще какие-то ограничения накладываются оператором? Просто такой информации я не нашел в явном виде. Серый ip закрыт, получается, от внешнего мира?
|
18.08.2019, 12:03 | #4 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
Серый это адрес nat маршрутизатора. Через него группа лиц может выходить с разных портов. Сам аппарат переодически обновляет порты . Чтобы этого не было нужно частенько отправлять пустой запрос. Где то статью видел как можно через удп организовать связь через nat. Но стоит ли это затрат ещё стоит подумать.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
18.08.2019, 12:21 | #5 |
Пользователь
Регистрация: 01.06.2015
Сообщений: 20
|
|
18.08.2019, 12:24 | #6 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
С белым все будет работать. Сам делал кучу проектов.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
18.08.2019, 12:27 | #7 |
Пользователь
Регистрация: 01.06.2015
Сообщений: 20
|
|
26.08.2019, 15:56 | #8 |
Пользователь
Регистрация: 01.06.2015
Сообщений: 20
|
Добрый день. Я вам продублировал это сообщение на ваш 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 что-то еще указать? Помогите, пожалуйста, советом или хотя бы намеком, какую информацию нужно искать? |
26.08.2019, 16:20 | #9 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
Почему то в спам попали. Пишите в скайп там удобнее обсуждать.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подключение из Xamarin к MySql - Xamarin | valter1999 | C# (си шарп) | 3 | 05.04.2018 10:06 |
Xamarin android | cyber_NINJA | C# (си шарп) | 1 | 05.04.2015 17:20 |
Организация запроса к серверу | DBPorgrammer | C/C++ Сетевое программирование | 0 | 21.01.2013 09:19 |
Как заставить клиентский сокет заново подключится к серверу | Vadik(R) | Работа с сетью в Delphi | 6 | 01.11.2008 14:30 |