Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
GDjedi
0 / 0 / 0
Регистрация: 31.10.2016
Сообщений: 2
#1

Организация прямого сетевого взаимодействия между устройствами - Android

31.10.2016, 20:10. Просмотров 151. Ответов 6
Метки нет (Все метки)

Здравствуйте.
Сабж. Например для медиа связи.
Учитывая, что адреса у мобильных устройств динамические и меняются каждую сессию, то понятно, что нужно промежуточное звено-сервер. Есть несколько вопросов:
1. Можно ли использовать сервер только для актуализации адресов(приложения-клиенты подключаются при открытии или изменении сетевого подключения и сообщают серверу свой текущий ip адрес) и дальнейший обмен данными происходит напрямую между клиентами?
2. В приложениях типа скайпа(или любом другом известном продукте, типа whatsapp, viber и пр.) потоковый трафик целиком идет через сервер или между клиентами? Может кто-нибудь знает по какому принципу это реализовано?
3. Не силен в сокетном взаимодействии, поэтому вопрос ip. Если несколько устройств подключены к одному роутеру, то внешний адрес у них одинаковый(во всяком случае об этом мне говорили различные сервисы по определению ip). Как тогда сервера(google firebase или те же мессенджеры например) находят нужное устройство?
Наверное я что-то не догоняю в маршрутизации.

Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2016, 20:10     Организация прямого сетевого взаимодействия между устройствами
Посмотрите здесь:

Android Организация поиска в андроид приложении
Android Организация обновления программы
Организация структуры объектов Android
Синхронизация данных приложения между устройствами Android
Android Android Передача обмен данными между устройствами
Организация поиска в listview Android
Android Как управлять внешними устройствами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_Night_Scream_
55 / 67 / 7
Регистрация: 08.08.2013
Сообщений: 547
31.10.2016, 20:40     Организация прямого сетевого взаимодействия между устройствами #2
GDjedi,
1) Напрямую нельзя, если вы сидите через мобильного оператора, то скорее всего вы за серым IP, за которым сидят еще с сотню таких же как вы, у вас нет своего адреса в сети, поэтому напрямую нет.
2) Целиком через сервер, я так думаю по крайней мере. Возможно как-то vpn используется.
3) Ваш телефон всегда клиент, опрашивает сервер на наличие данных, или может не опрашивать, а поддерживать связь (keep alive), а сервер потом сам шлёт.

К вашему устройсту ЗА роутером невозможно подключиться, он "защищен" от этого.
vxg
Модератор
3024 / 1826 / 190
Регистрация: 13.01.2012
Сообщений: 6,928
31.10.2016, 20:59     Организация прямого сетевого взаимодействия между устройствами #3
_Night_Scream_, можно и за роутером подключится пробив порты прокси но это сложнее
_Night_Scream_
55 / 67 / 7
Регистрация: 08.08.2013
Сообщений: 547
31.10.2016, 21:01     Организация прямого сетевого взаимодействия между устройствами #4
vxg, да, пробросить можно, а еще лучше если арендовать белый IP.
GDjedi
0 / 0 / 0
Регистрация: 31.10.2016
Сообщений: 2
31.10.2016, 21:47  [ТС]     Организация прямого сетевого взаимодействия между устройствами #5
Спасибо.
_Night_Scream_, если ip-серый или если дальше роутера нельзя подключится то как тогда подключаются в итоге? И при установлении соединения клиента с сервером и отправке ему (серверу) запроса куда отсылается ответ? Я думал на ip клиента-устройства на порт программы-клиента.
vxg
Модератор
3024 / 1826 / 190
Регистрация: 13.01.2012
Сообщений: 6,928
31.10.2016, 21:50     Организация прямого сетевого взаимодействия между устройствами #6
GDjedi, запрос либо идет транзитом через сервер либо не нуждается в транзите так как все данные на сервере (одно устройство их туда кладет, а другое периодически опрашивая сервер забирает при поступлении). сервер - это арендованный у хостера ресурс
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.10.2016, 21:56     Организация прямого сетевого взаимодействия между устройствами
Еще ссылки по теме:

Программа для прямого эфира Android
Android Организация оплаты внутри приложения
Передача данных между устройствами Android
Прямой обмен координатами между устройствами Android
Android Приложение несовместимо с вашими устройствами

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
_Night_Scream_
55 / 67 / 7
Регистрация: 08.08.2013
Сообщений: 547
31.10.2016, 21:56     Организация прямого сетевого взаимодействия между устройствами #7
GDjedi, в пакете присутствует source и distantion, по source потом обратно возвращается, причем от маршрутизатора к маршрутизатору это меняется и конечный сервер не знает на самом деле о вашем mac или ip или порту, всё по цепочке.
Глубже рассказать не смогу, боюсь ошибиться и сбить вас с толку.

У меня стоит примерно такая же задача, соединить 2 устройства между собой, я пришел к выводу что мне нужен VDS, через него буду соединять 2 телефона\планшета, сервер между ними посредник.
Yandex
Объявления
31.10.2016, 21:56     Организация прямого сетевого взаимодействия между устройствами
Ответ Создать тему
Опции темы

Текущее время: 13:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru