Quiero crear una aplicación que se ejecute en Android y use Raw Sockets. Veo que no hay soporte de socket sin formato en las bibliotecas java.net. * O android.net. *. ¿Son posibles los conectores RAW en Android?Raw Sockets en Android
Respuesta
, raw sockets correctos no se admiten en cualquier biblioteca de Java o Android, en parte debido a que (cito de here):
se cree que tal paquete degradaría el modelo de seguridad de Java actual y puede ser difícil implementar en un sistema no operativo (OS) de manera dependiente.
hay bibliotecas 3 ª parte como RockSaw o JSocket, sin embargo, estos requieren la compilación de C o C++, por lo que no están de suerte allí.
Además, creo que necesita acceso de root para usar sockets sin formato.
Entonces, con todo eso, diría que técnicamente es posible, pero no práctico en este momento.
Por qué no usar Android comunicación entre procesos, como:
AIDL, Intención, Broadcast etc
Ver http://developer.android.com/guide/topics/fundamentals/services.html por ejemplo. Usan conectores internos
Por lo que yo sé, no es posible en Android. No en java ni en c/C++ por razones de seguridad (supongo), la única solución posible sería mediante algún truco con acceso de root. He estado buscando una forma pero nunca he encontrado nada.
- 1. Sockets raw y sendto en python
- 2. SMS raw pdu en Android
- 3. Android - Sockets vs Polling
- 4. Borrado (Raw) Contactos en Android 2.x
- 5. PCM Raw Bytes [] Para audio en Android
- 6. ¿Cómo crear el socket Raw en Android?
- 7. ¿Cómo usar sockets UDP en android?
- 8. Embalaje RAW AAC en un contenedor m4a?
- 9. Parse Raw HTTP en Python
- 10. Acceder a los contenidos de res/raw programatically (Android)
- 11. manera correcta de usar sockets en la aplicación de Android
- 12. ¿Cómo habilitar un certificado autofirmado para sockets SSL en Android?
- 13. Python Raw Strings
- 14. Raw ActionLink linkText
- 15. ¿Usa sockets SSL y sockets no SSL simultáneamente en Boost.Asio?
- 16. Sockets RDM
- 17. Python + sockets
- 18. Android: Transmisión de audio a través de sockets TCP
- 19. cómo jugar datos raw pcm en java
- 20. Procesamiento de imágenes RAW en Python
- 21. parsing/scanning/tokenizing "raw XML"
- 22. Obtener archivo de/res/raw
- 23. ¿Cómo hacer sockets en jQuery?
- 24. Sockets de dominio PostgreSQL UNIX vs sockets TCP
- 25. leyendo parcialmente de sockets
- 26. sockets que programan gfortran
- 27. C# Sockets vs Pipes
- 28. Java Sockets & the Internet
- 29. sockets: BufferedReader readLine (bloques)
- 30. C# Asynchronous Sockets questions
Puede usar el Android NDK para el código C/C++. Eso no ayuda con la restricción de acceso sin embargo. – fadden
Realmente necesito Raw Sockets. El propósito de usar Raw Sockets es que los paquetes se puedan manipular. Quiero escribir una capa PPPoE, que requeriría acceso a los paquetes sin procesar. Realmente necesita ejecutarse al mismo nivel que el cliente VPN integrado. ¿Hay un kit similar a DDK que te permite escribir en el nivel del controlador en Android? – Tingo
@Tingo y Steve: "Creo que necesita acceso de root para usar sockets sin formato": más precisamente, necesita [CAP_NET_RAW capacidad] (http://man7.org/linux/man-pages/man7/packet.7.html), pero sí, a menos que se use administración de privilegios más detallada, eso se reduce a "raíz". – jbm