Я хочу создать приложение, которое работает на Android и использует Raw Sockets. Я вижу, что в библиотеке java.net. * Или orroid.net. * Нет поддержки сокетов. Возможны ли исходные сокеты на Android?
Сырые сокеты на Android
Ответ 1
Правильно, сырые сокеты не поддерживаются ни в каких библиотеках Java или Android, отчасти потому, что (я цитирую здесь):
считается, что такой пакет будет деградировать текущую Java и может быть трудно реализовать в нерабочей системе (OS).
Существуют сторонние библиотеки, такие как RockSaw или JSocket, однако они требуют компиляции C или С++, поэтому вам там не повезло.
Кроме того, я считаю, что вам нужен root-доступ для использования сырых сокетов.
Итак, со всем этим, я бы сказал, технически это возможно, но не практично в это время.
Ответ 2
Насколько я знаю, это невозможно на Android. Не в java и c/С++ из-за соображений безопасности (я думаю), единственное возможное решение - через хак с доступом root. Я искал способ, но ничего не нашел.
Ответ 3
Я смог использовать необработанные сокеты на рутированном телефоне, используя Python, работающий под приложением QPython. Это немного неуклюже, скрипт повторно вызывает себя с "su", если он еще не запущен от имени root, но работает.
Ответ 4
Почему бы не использовать коммуникацию между Интернетом, например:
AIDL, Намерение, Трансляция и т.д.
См. http://developer.android.com/guide/topics/fundamentals/services.html, например. Они используют внутренние разъемы