Страница 1 из 1

передача звука

Добавлено: 09 фев 2016, 12:03
0800009
собрал приложение которое записывает звук на реальном устройстве(192.168.43.1) и передает его на эмулятор (192.168.43.133)через wifi

Вопрос как проделать тоже самое только используя адреса которые назначает сотовый оп
атор .
на реальном устройстве адрес 100.84.93.230
если я возьму второе реальное устройство и узнаю его ip адрес допустим 100.84.93.240
смогу ли я хотя бы пропинговать не говоря уже про звук.
Предполагаю что оператор должен быть один и тот же

Re: передача звука

Добавлено: 09 фев 2016, 13:38
Sergey777
0800009 писал(а):собрал приложение которое записывает звук на реальном устройстве(192.168.43.1) и передает его на эмулятор (192.168.43.133)через wifi

Вопрос как проделать тоже самое только используя адреса которые назначает сотовый оп
атор .
на реальном устройстве адрес 100.84.93.230
если я возьму второе реальное устройство и узнаю его ip адрес допустим 100.84.93.240
смогу ли я хотя бы пропинговать не говоря уже про звук.
Предполагаю что оператор должен быть один и тот же
Здравствуйте. Чтобы узнать ip-адрес устройства программно либо так:

Код: Выделить всё

WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
		int ip = wifiManager.getConnectionInfo().getIpAddress();
Либо так:

Код: Выделить всё

InetAddress addr = InetAddress.getLocalHost();
                        String myLANIP = addr.getHostAddress();
Других способов я не знаю, пробуйте! Гугл Вам в помощь!

Re: передача звука

Добавлено: 09 фев 2016, 13:49
0800009
Спасибо .
Но мне кажется Вашим способом я определю только лишь ip адреса локальной wifi сети
которые я уже и так знаю.

Re: передача звука

Добавлено: 11 фев 2016, 03:09
GRAF_COLLIOSTRO
0800009 писал(а):***Но мне кажется Вашим способом я определю только лишь ip адреса локальной wifi сети
которые я уже и так знаю.
эммм... задачи такой не стояло, но чисто из того что знаю: передача с айпи на айпи возможна - это в корне обычный интернет со всеми его законами и политикой. единственное, если вы захотите использовать специфичные порты (tcp/udp), то они могут быть заблокированы оператором.

что касательно получения внешнего айпишника воспользуйтесь онлайн услугами - есть масса ресурсов в сети, которые с удовольствием скажут Вам Ваш айпишник. можно поидее распарсить ответ с такого ресурса...

возможно есть инструмент и попроще, но чисто логически с устройства вы будете видеть свой айпи внутри локальной сети, но никак не внешний.

ну и как следствие и возможно вообще решение проблемы - использовать собственный веб сервер. получить айпи клиентов не составляет труда. связать массу устройств и передать им айпишники друг друга тож не проблема... сами два устройства в сети друг друга будут искать годами. или вы купите им статику, или проще обзавестись статикой на серваке и оттуда осуществлять все связи

и ещё о проблемах операторов: зачастую несколько мобильников, которые в данный момент времени подключены к одной соте имеют один и тотже айпишник. дальше уже подсеть разделяет трафик между юзверями. это тоже стоит учитывать.

Re: передача звука

Добавлено: 08 апр 2016, 11:17
0800009
Выяснил что оба устройства находятся под симметричным натом
И соединение на прямую не возможно.
Но viber утверждают что весь трафик идет минуя их сервера.
Но как это возможно .
Вероятно они используют некоторые клиентские приложения как посредники и гонят трафик через них.

Re: передача звука

Добавлено: 09 апр 2016, 06:47
Sergey777
0800009 писал(а):Выяснил что оба устройства находятся под симметричным натом
И соединение на прямую не возможно.
Но viber утверждают что весь трафик идет минуя их сервера.
Но как это возможно .
Вероятно они используют некоторые клиентские приложения как посредники и гонят трафик через них.
Скорее всего viber используют передачу данных по протоколу p2p. Это технология передачи данных, при который ответствует понятие сервера и клиента (самый ярким пример: торрент-клиент, скайп). Если вы хотите передовать данные внутри одной сити по Wi-Fi, то это наверное самое подходящие решение.
Вот что об этом пишет гугл:
http://developer.android.com/intl/ru/gu ... fip2p.html
http://developer.android.com/intl/ru/tr ... irect.html
https://android.googlesource.com/platfo ... ivity.java
А вот использовать эту технологию не внутри одной сети будет крайне тяжело из-за ограничения прямого доступа к сети (NAT).

Re: передача звука

Добавлено: 09 апр 2016, 13:10
0800009
Спасибо.
Как раз наоборот мне нужно не в локалке
а именно передавать данные между двумя устройствами которые
находятся за разными натоми , причем симметричными.
А именно там и находятся основные пользователи viber.
Насколько я понял проблему прохождения симметричного ната
можно решить только используя посредника который весь трафик будет пропускать через себя т.е.
проксировать.
Значит viber использует либо свои сервера для передачи медиа-контента
, либо использует клиентские машины в качестве таких серверов.

Re: передача звука

Добавлено: 25 авг 2016, 16:34
0800009
Собственно выяснилось что мобильные операторы держат своих пользователей
за port restricted cone nat
Что позволяет достаточно просто соединяться клиентам

Re: передача звука

Добавлено: 15 сен 2016, 10:20
0800009
Что позволяет достаточно просто соединяться клиентам по UDP .
но вот с TCP столкнулся с трудностями.
Не могу понять как узнать свой внешний адрес при TCP соединении. а главное ПОРТ.!!
можно использовать сервисы по определению IP адреса но они не дают номер порта
С UDP все просто отправляешь запрос на STUN сервер он возвращает тебе твой внешний адрес и порт.

Ребята выручайте не могу разобраться как получить внешний порт при TCP соединении находясь за NAT