flash - ¿Cómo funciona Adobe Stratus?
air (3)
Quiero saber ¿Cómo funciona Adobe Stratus? para tener una idea de cómo hacer algo así por mi cuenta. Entonces, ¿qué hackeo de red Stratus usa para funcionar como funciona?
No estoy familiarizado con el estrato de adobe, pero hasta donde puedo decir esto es muy similar a la forma en que funciona el cruce NAT normal, por ejemplo, SIP. Puedes echar un vistazo al artículo de STUN en wikipedia para comenzar. En resumen, configura un servidor de nombres y usa las conexiones iniciadas por el cliente de keepalive a un servidor de mediación o UnPnP para abrir puertos para los clientes. Las situaciones donde ambos clientes son NAT: ed son engañosas, aunque UnPNP funcionaría para estas situaciones.
EDIT: una descripción del protocolo de Skype está disponible aquí
Adobe llama a Stratus un servicio de "encuentro". La historia es la siguiente: a partir de la Versión 10, las instancias de Flash Player se pueden conectar directamente entre sí (peer-to-peer) utilizando un protocolo propietario llamado RTMFP.
Sin embargo, para que una instancia de aplicación flash se conecte a otra, necesita la dirección de la instancia de la aplicación flash. Cada instancia de la aplicación flash puede obtener su propia dirección / huella digital / nearId conectándose a Adobe stratus. Una vez que un cliente obtiene su propio Id. Cercano, necesita compartirlo con otros clientes. Una vez que una instancia de la aplicación flash tiene el ID cercano de otra instancia de la aplicación flash, puede conectarse y escuchar la otra secuencia de la instancia de la aplicación flash.
Un truco común utilizado por el software P2P es un método llamado perforación de agujeros. Esto se usa para eludir NAT.
Cuando una red utiliza NAT, no puede conectarse a una computadora dentro de la red, desde fuera de la red, lo que hace imposible establecer conexiones P2P.
Supongamos que tiene dos computadoras, A y B, ubicadas en diferentes partes del mundo, ambas detrás de NAT. Para establecer una conexión P2P, A y B se conectarán a un servidor Stratus. Esta conexión abrirá un puerto en los enrutadores A y B. El servidor Stratus conocerá estos números de puerto y compartirá esta información con A y B. A y B pueden conectarse a los puertos abiertos de los demás, estableciendo así la conexión P2P.