IO sin bloqueo para Android
Actualmente estoy tratando de evaluar si un proyecto se puede realizar para Android. Un problema importante que veo que, ya que es un cliente P2P, tendríamos que mantener una cantidad considerable de conexiones abiertas cuando se ejecuta. Ahora las conexiones no transferir grandes cantidades de datos, es más de un sistema de mensajería, por lo que tener un hilo para cada conexión crea una carga inútil si estamos leyendo un solo mensaje de 64 bytes de vez en cuando.
Así que me preguntaba si hay soporte para IO no bloqueador como select () o poll () en Linux.
- Android - Seleccionar máximo en contentProvider
- Jquery móvil, error con menú de selección en Android con Chrome versión 50
- Android: diálogo abierto para seleccionar audio
- Excepción de SQLite "no such table" de Android
- Android Dropdown (Seleccionar) CSS
¿Cualquier sugerencia?
- Destacar característica de texto como google play book
- Word Search Game: Cómo seleccionar varios elementos en una GridView arrastrando? (Androide)
- Selecciona el texto de la vista de texto con un solo clic en android
- Obtener Android para tratar HTML Seleccionar como Android Spinner?
- Seleccione editexts texto en una vista de lista. ¿Cómo se puede hacer? No puedo averiguarlo
- Seleccione Texto y muestre el significado como pop-up en MUPDF
- android: cómo personalizar <select> cuadro de diálogo emergente en webview
Echa un vistazo a java.nio Sockets, Selectors y Channels. Algunos enlaces:
Android: Unbuffered IO http://developer.android.com/reference/java/nio/channels/ServerSocketChannel.html http://developer.android.com/reference/java/nio/channels/SocketChannel.html http: // http://www.developer.com/java/article.php/3837316/Non-Blocking-IO-Made-Possible-in-Java.htm
O tal vez no leí bien su pregunta.
Por supuesto. Una vez que su aplicación declara el uso de permisos de Internet, puede hacer todas las cosas normales de red de Linux normalmente disponibles para un usuario no root en C usando el NDK, y cualquiera de ellos de java que alguien (posiblemente si nadie te golpea demasiado) molestado en escribir apoyo para.
Bueno, una excepción: su proveedor de telefonía móvil probablemente no permitirá conexiones entrantes, y tampoco lo hará la mayoría de los routers wifi a menos que los configure especialmente. Pero esos son problemas de infraestructura en lugar de problemas con el propio Android.
Es probable que también necesite encontrar alguna combinación de una actividad para proporcionar la interfaz de usuario en primer plano y un servicio para continuar las transferencias reales en segundo plano con sólo mostrar un icono de la barra de estado.