Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 31.10.2016
Сообщений: 2

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

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

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

Спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.10.2016, 20:10
Ответы с готовыми решениями:

Организация взаимодействия между пользовательскими элементами
Здавствуйте. Помогите чайнику. Имеется 2 пользовательских элемента: "Голосование" и "Результаты" ...

Архитектура для сетевого взаимодействия в приложении
Всем новогодний привет!)) Хотел бы поинтересоваться, как кто предпочитает организовывать у себя в проектах взаимодействие с server...

Литература для изучения сетевого взаимодействия
Привет ребят! У меня вопрос такой, я почти дочитываю брюс эккеля и всё довольно просто. Есть поглубже литература? Я хочу такую литературу...

6
91 / 86 / 12
Регистрация: 08.08.2013
Сообщений: 667
31.10.2016, 20:40
GDjedi,
1) Напрямую нельзя, если вы сидите через мобильного оператора, то скорее всего вы за серым IP, за которым сидят еще с сотню таких же как вы, у вас нет своего адреса в сети, поэтому напрямую нет.
2) Целиком через сервер, я так думаю по крайней мере. Возможно как-то vpn используется.
3) Ваш телефон всегда клиент, опрашивает сервер на наличие данных, или может не опрашивать, а поддерживать связь (keep alive), а сервер потом сам шлёт.

К вашему устройсту ЗА роутером невозможно подключиться, он "защищен" от этого.
0
Модератор
 Аватар для vxg
3409 / 2180 / 354
Регистрация: 13.01.2012
Сообщений: 8,460
31.10.2016, 20:59
_Night_Scream_, можно и за роутером подключится пробив порты прокси но это сложнее
0
91 / 86 / 12
Регистрация: 08.08.2013
Сообщений: 667
31.10.2016, 21:01
vxg, да, пробросить можно, а еще лучше если арендовать белый IP.
0
0 / 0 / 0
Регистрация: 31.10.2016
Сообщений: 2
31.10.2016, 21:47  [ТС]
Спасибо.
_Night_Scream_, если ip-серый или если дальше роутера нельзя подключится то как тогда подключаются в итоге? И при установлении соединения клиента с сервером и отправке ему (серверу) запроса куда отсылается ответ? Я думал на ip клиента-устройства на порт программы-клиента.
0
Модератор
 Аватар для vxg
3409 / 2180 / 354
Регистрация: 13.01.2012
Сообщений: 8,460
31.10.2016, 21:50
GDjedi, запрос либо идет транзитом через сервер либо не нуждается в транзите так как все данные на сервере (одно устройство их туда кладет, а другое периодически опрашивая сервер забирает при поступлении). сервер - это арендованный у хостера ресурс
0
91 / 86 / 12
Регистрация: 08.08.2013
Сообщений: 667
31.10.2016, 21:56
GDjedi, в пакете присутствует source и distantion, по source потом обратно возвращается, причем от маршрутизатора к маршрутизатору это меняется и конечный сервер не знает на самом деле о вашем mac или ip или порту, всё по цепочке.
Глубже рассказать не смогу, боюсь ошибиться и сбить вас с толку.

У меня стоит примерно такая же задача, соединить 2 устройства между собой, я пришел к выводу что мне нужен VDS, через него буду соединять 2 телефона\планшета, сервер между ними посредник.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.10.2016, 21:56
Помогаю со студенческими работами здесь

Организация домашней сети с телевизорами и мобильными устройствами
Добрый день, форумчане. В частном доме локальная сеть организована с помощью интернет-центра Zeexel Keenetic Lite II. Сеть содержит...

Организация межсетевого взаимодействия
Помогите, пожалуйста. Имеется 4 компьютера, каждый имеет свой vlan (соответсвенно 2-5). Компы подключены к коммутатору L2, а он к...

Организация взаимодействия форм
Доброго времени суток! Снова требуется помощь: необходимо организовать взаимодействие 3 разных форм. На первой форме...

Организация диалогового взаимодействия
Ситуация такая: Одно окошко открывает дочернее для организации диалога. Как можно сделать так, чтобы пока дочернее открыто, не было...

Организация межпотокового взаимодействия, используя монитор
Нужно модифицировать программу, а именно - Помогите пожалуйста. class TestThread extends Thread { String threadName; ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru