передача звука
передача звука
собрал приложение которое записывает звук на реальном устройстве(192.168.43.1) и передает его на эмулятор (192.168.43.133)через wifi
Вопрос как проделать тоже самое только используя адреса которые назначает сотовый оп
атор .
на реальном устройстве адрес 100.84.93.230
если я возьму второе реальное устройство и узнаю его ip адрес допустим 100.84.93.240
смогу ли я хотя бы пропинговать не говоря уже про звук.
Предполагаю что оператор должен быть один и тот же
Вопрос как проделать тоже самое только используя адреса которые назначает сотовый оп
атор .
на реальном устройстве адрес 100.84.93.230
если я возьму второе реальное устройство и узнаю его ip адрес допустим 100.84.93.240
смогу ли я хотя бы пропинговать не говоря уже про звук.
Предполагаю что оператор должен быть один и тот же
Re: передача звука
Здравствуйте. Чтобы узнать ip-адрес устройства программно либо так:0800009 писал(а):собрал приложение которое записывает звук на реальном устройстве(192.168.43.1) и передает его на эмулятор (192.168.43.133)через wifi
Вопрос как проделать тоже самое только используя адреса которые назначает сотовый оп
атор .
на реальном устройстве адрес 100.84.93.230
если я возьму второе реальное устройство и узнаю его ip адрес допустим 100.84.93.240
смогу ли я хотя бы пропинговать не говоря уже про звук.
Предполагаю что оператор должен быть один и тот же
Код: Выделить всё
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
int ip = wifiManager.getConnectionInfo().getIpAddress();
Код: Выделить всё
InetAddress addr = InetAddress.getLocalHost();
String myLANIP = addr.getHostAddress();
Re: передача звука
Спасибо .
Но мне кажется Вашим способом я определю только лишь ip адреса локальной wifi сети
которые я уже и так знаю.
Но мне кажется Вашим способом я определю только лишь ip адреса локальной wifi сети
которые я уже и так знаю.
-
- Сообщения: 115
- Зарегистрирован: 08 янв 2015, 14:32
Re: передача звука
эммм... задачи такой не стояло, но чисто из того что знаю: передача с айпи на айпи возможна - это в корне обычный интернет со всеми его законами и политикой. единственное, если вы захотите использовать специфичные порты (tcp/udp), то они могут быть заблокированы оператором.0800009 писал(а):***Но мне кажется Вашим способом я определю только лишь ip адреса локальной wifi сети
которые я уже и так знаю.
что касательно получения внешнего айпишника воспользуйтесь онлайн услугами - есть масса ресурсов в сети, которые с удовольствием скажут Вам Ваш айпишник. можно поидее распарсить ответ с такого ресурса...
возможно есть инструмент и попроще, но чисто логически с устройства вы будете видеть свой айпи внутри локальной сети, но никак не внешний.
ну и как следствие и возможно вообще решение проблемы - использовать собственный веб сервер. получить айпи клиентов не составляет труда. связать массу устройств и передать им айпишники друг друга тож не проблема... сами два устройства в сети друг друга будут искать годами. или вы купите им статику, или проще обзавестись статикой на серваке и оттуда осуществлять все связи
и ещё о проблемах операторов: зачастую несколько мобильников, которые в данный момент времени подключены к одной соте имеют один и тотже айпишник. дальше уже подсеть разделяет трафик между юзверями. это тоже стоит учитывать.
Re: передача звука
Выяснил что оба устройства находятся под симметричным натом
И соединение на прямую не возможно.
Но viber утверждают что весь трафик идет минуя их сервера.
Но как это возможно .
Вероятно они используют некоторые клиентские приложения как посредники и гонят трафик через них.
И соединение на прямую не возможно.
Но viber утверждают что весь трафик идет минуя их сервера.
Но как это возможно .
Вероятно они используют некоторые клиентские приложения как посредники и гонят трафик через них.
Re: передача звука
Скорее всего viber используют передачу данных по протоколу p2p. Это технология передачи данных, при который ответствует понятие сервера и клиента (самый ярким пример: торрент-клиент, скайп). Если вы хотите передовать данные внутри одной сити по Wi-Fi, то это наверное самое подходящие решение.0800009 писал(а):Выяснил что оба устройства находятся под симметричным натом
И соединение на прямую не возможно.
Но viber утверждают что весь трафик идет минуя их сервера.
Но как это возможно .
Вероятно они используют некоторые клиентские приложения как посредники и гонят трафик через них.
Вот что об этом пишет гугл:
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: передача звука
Спасибо.
Как раз наоборот мне нужно не в локалке
а именно передавать данные между двумя устройствами которые
находятся за разными натоми , причем симметричными.
А именно там и находятся основные пользователи viber.
Насколько я понял проблему прохождения симметричного ната
можно решить только используя посредника который весь трафик будет пропускать через себя т.е.
проксировать.
Значит viber использует либо свои сервера для передачи медиа-контента
, либо использует клиентские машины в качестве таких серверов.
Как раз наоборот мне нужно не в локалке
а именно передавать данные между двумя устройствами которые
находятся за разными натоми , причем симметричными.
А именно там и находятся основные пользователи viber.
Насколько я понял проблему прохождения симметричного ната
можно решить только используя посредника который весь трафик будет пропускать через себя т.е.
проксировать.
Значит viber использует либо свои сервера для передачи медиа-контента
, либо использует клиентские машины в качестве таких серверов.
Re: передача звука
Собственно выяснилось что мобильные операторы держат своих пользователей
за port restricted cone nat
Что позволяет достаточно просто соединяться клиентам
за port restricted cone nat
Что позволяет достаточно просто соединяться клиентам
Re: передача звука
Что позволяет достаточно просто соединяться клиентам по UDP .
но вот с TCP столкнулся с трудностями.
Не могу понять как узнать свой внешний адрес при TCP соединении. а главное ПОРТ.!!
можно использовать сервисы по определению IP адреса но они не дают номер порта
С UDP все просто отправляешь запрос на STUN сервер он возвращает тебе твой внешний адрес и порт.
Ребята выручайте не могу разобраться как получить внешний порт при TCP соединении находясь за NAT
но вот с TCP столкнулся с трудностями.
Не могу понять как узнать свой внешний адрес при TCP соединении. а главное ПОРТ.!!
можно использовать сервисы по определению IP адреса но они не дают номер порта
С UDP все просто отправляешь запрос на STUN сервер он возвращает тебе твой внешний адрес и порт.
Ребята выручайте не могу разобраться как получить внешний порт при TCP соединении находясь за NAT