¿Problemas con el uso de TCP y UDP en la misma aplicación?
El punto de mi pregunta es preguntar si se acepta usar TCP y UDP para comunicarse entre el cliente y el servidor.
Estoy haciendo un juego de servidor de cliente en tiempo real con partes de la comunicación que necesitan ser garantizados (inicio de sesión, etc.), pero otras partes estarán bien para perder paquetes (actualizaciones de estado, etc). Por lo tanto, me gustaría usar UDP para la mayoría de la comunicación de datos, pero no quiero tener que implementar mi propio marco para asegurar que mi comunicación de control (registro) está garantizada.
- Android enviar mpegts arroyos sobre udp
- Mantenimiento de una conexión bidireccional UDP
- Unicast UDP de Android funciona, pero la difusión no
- UDP Video Streaming en Android
- Android illegalxception
Por lo tanto, sería razonable utilizar inicialmente TCP para administrar una conexión, y luego en un puerto separado enviar paquete de comunicación de datos y adelante?
- Enviar y recibir datos en UDP Socket java android
- Uso de vlclib en Android
- tengo dos aplicaciones android, se puede enviar la cadena a través de LAN en IP específico y otra aplicación para la recepción, pero quiero transmitir la cadena a través de LAN?
- Recibir mensaje de difusión en Android
- ¿Fuerza el androide para enviar paquetes UDP inmediatamente?
- Enviar Broadcast UDP pero no recibirlo en otros dispositivos Android
- Difusión de audio / vídeo desde android vía udp a wifi y escuchar con vlc
- Recibe UDP en Android Marshmallow
Debería hacerlo de esa manera (use TCP y UDP para realizar diferentes tareas de comunicación). Y ni siquiera tiene que usar dos puertos diferentes. Uno bastará . Puede escuchar los dos protocolos diferentes en el mismo puerto.
Es bastante razonable y ya se utiliza en la corriente principal. Incluso cuando se navega por la Web, las operaciones DNS están basadas en UDP y las conexiones HTTP están basadas en TCP.
Tenga en cuenta que debe considerar los dos tipos de conexión para ser completamente independiente o emplear medidas adicionales para manejar adecuadamente cualquier interdependencias. Las conexiones TCP pueden tener problemas de temporización en el sistema operativo y los niveles de red y las conexiones UDP tienen problemas de pérdida de paquetes. Debe tomar medidas específicas para evitar bloqueos y problemas de rendimiento cuando la parte TCP de su aplicación se bloquea o se pierde un paquete UDP.
No sólo es aceptado, sino que es ampliamente utilizado. Como buen ejemplo, BATS Exchange está utilizando este enfoque en su sistema de distribución de datos de mercado , para implementar mecanismos de recuperación.
- Llamar al controlador de botón de retroceso predeterminado de Phonegap
- Cómo establecer el índice z utilizando algunos valores enteros