Может ли Android создавать одноранговые специальные сети?
Можно ли настроить Android в режиме одноранговой одноранговой сети Wi-Fi? Например, я хотел бы, чтобы один телефон транслировал сообщение, и чтобы все одноранговые узлы в сети принимали трансляцию, не имея сервера. Я хотел бы использовать Wi-Fi, так как радиус действия Bluetooth более ограничен.
11 ответов
Вот отчет об ошибке в функции, которую вы запрашиваете.
Его статус "проверен", но я не верю, что он реализован.
Хотя Android не может найти и подключиться к специализированным сетям, он наверняка может подключиться к точкам доступа. Таким образом, в качестве обходного пути вы можете превратить вашу беспроводную карту в точку доступа, используя, например, Connectify.
Мы с моим другом в настоящее время разрабатываем библиотеку Java, реализующую протокол AODV (маршрутизация с несколькими переходами, подходящая для мобильных сетей), в нашей дипломной работе. Конечный "продукт" включает в себя простой способ создания / подключения к adhoc-сети на нескольких устройствах Android и интерфейс через библиотеку для отправки и получения сообщений. К сожалению, у каждого типа телефона, такого как hero, nexsus one..., есть телефонный способ создания сети adhoc, поэтому в настоящее время мы поддерживаем только несколько телефонов).
это означает, что, как только этот проект будет завершен, люди с рутированными телефонами смогут реализовать свои распределенные приложения (обмен файлами, игры,...), просто включив файл библиотеки.jar в свои проекты Android.
это все с открытым исходным кодом, кстати
Вы можете подключить устройство Android к известной сети ad-hoc.
редактировать /system/etc/wifi/tiwlan.ini
WiFiAdhoc = 1
dot11DesiredSSID = <your_network_ssid>
dot11DesiredBSSType = 0
изменить /data/misc/wifi/wpa_supplicant.conf
ctrl_interface=tiwlan0
update_config=1
eapol_version=1
ap_scan=2
если это слишком упрощенно, см. эти инструкции.
Поддержка одноранговых сетей WiFi доступна начиная с уровня API 14.
Ваш ответ - Wi-Fi direct, который доступен с ICS. Вот ссылка для объяснения в Android Doc
Это может работать для использования JmDNS на Android: http://jmdns.sourceforge.net/
Существует множество машин с поддержкой zeroconf, поэтому это позволит обнаруживать не только устройства Android.
Вы можете использовать каркас Alljoyn для одноранговой связи в Android. Он основан на специальных сетях, а также с открытым исходным кодом.
Я не думаю, что это обеспечивает многопролетную среду беспроводной маршрутизации пакетов. Однако вы можете попробовать интегрировать простой механизм маршрутизации. Просто проверьте Wi-Share, чтобы понять, как это можно сделать.
Да, но:
1. рутируйте свое устройство (если у вас есть Nexus S, как я, посмотрите это)
2. установить root explorer (поиск в маркете)
3. найдите соответствующий файл wpa_supplcant и замените (и сделайте резервную копию) оригинал, как показано в этой теме
Выше был протестирован на моем Nexus S I9023 Android 2.3.6
В дополнение к ответу Telmo Marques: для этого я использую Virtual Router.
Как и Connectify, он создает точку доступа на вашем компьютере с Windows 8, Windows 7 или 2008 R2, но с открытым исходным кодом.