Algunas cuestiones que los desarrolladores trabajadores deben conocer
A continuación, la columna del tutorial de Workersman le presentará varias cuestiones que los desarrolladores de Workersman deben conocer. ¡Espero que sea útil para los amigos que lo necesiten!
1. Workerman no depende de Apache o nginx
Workerman en sí ya es un contenedor similar a Apache/nginx que puede ejecutarse siempre que el entorno PHP esté bien.
2. Workerman se inicia desde la línea de comando
El método de inicio es similar a Apache usando el comando (workerman no se puede usar en espacios web generales). La interfaz de inicio es similar a la siguiente
3 Una conexión larga debe tener un latido
Una conexión larga debe tener un latido, una conexión larga debe tener un latido, una larga. La conexión debe tener un latido, decir las cosas importantes tres veces.
Una conexión larga sin comunicación durante mucho tiempo definitivamente será bloqueada por el firewall y desconectada. La aplicación de conexión a largo plazo sin latidos solo está esperando que el jefe te noquee.
4. Los protocolos del cliente y del servidor deben corresponder para comunicarse.
Este es un problema muy común entre los desarrolladores. Por ejemplo, si el cliente usa el protocolo websocket, el servidor también debe usar el protocolo websocket (servidor nuevo Trabajador('websocket://0.0.0.0...')) para poder conectarse y comunicarse.
No intente acceder al puerto del protocolo websocket en la barra de direcciones del navegador y no intente utilizar el protocolo websocket para acceder al puerto del protocolo TCP simple. El protocolo debe corresponder.
El principio aquí es similar a que si quieres comunicarte con británicos, entonces usa inglés. Si quieres comunicarte con japoneses, utiliza el japonés. El lenguaje aquí es similar al acuerdo de comunicación. Ambas partes (cliente y servidor) deben usar el mismo idioma para comunicarse, de lo contrario la comunicación no será posible.
5. Posibles motivos del fallo de conexión
Un problema muy común cuando empiezas a utilizar Workerman es que el cliente no logra conectarse al servidor. Los motivos generalmente son los siguientes:
1. El firewall del servidor (incluido el grupo de seguridad del servidor en la nube) bloquea la conexión (50% de probabilidad de que esto suceda)
2. el cliente y el servidor son inconsistentes (30% de probabilidad)
3. La IP o el puerto son incorrectos (15% de probabilidad)
4.
6. No utilice la declaración de salida del sueño
La ejecución empresarial de la declaración de salida del sueño hará que el proceso se cierre y muestre el error WORKER EXIT UNEXPECTED. Por supuesto, cuando el proceso finalice, se reiniciará inmediatamente un nuevo proceso para continuar con el servicio. Si necesita regresar, puede llamar a devolución. La declaración de suspensión hará que el proceso entre en suspensión. No se realizará ninguna actividad durante el proceso de suspensión y el marco también dejará de ejecutarse, lo que provocará que todas las solicitudes de los clientes del proceso no se puedan procesar.
7. No tenga un bucle infinito en el código comercial.
No tenga un bucle infinito en el código comercial. De lo contrario, el control no se devolverá al marco de trabajo. lo que resulta en la incapacidad de recibir y procesar otros mensajes de clientes.
8. Reiniciar al cambiar el código
Workerman es un marco residente en memoria. Al cambiar el código, es necesario reiniciar Workerman para ver el efecto del nuevo código.
9. Se recomienda utilizar el marco GatewayWorker para aplicaciones de conexión a largo plazo.
Muchos desarrolladores utilizan Workerman para desarrollar aplicaciones de conexión a largo plazo, como mensajería instantánea e Internet de las cosas. , etc. Para aplicaciones de conexión a largo plazo, se recomienda utilizar GatewayWorker directamente. El marco se vuelve a encapsular específicamente sobre la base de Workerman, lo que lo hace más simple y fácil de usar como backend de aplicación de conexión a largo plazo.
10. Admite una mayor concurrencia
Si el número de conexiones comerciales simultáneas supera las 1000 y están en línea al mismo tiempo, asegúrese de optimizar el kernel de Linux e instalar la extensión de eventos o libevent. extensión.
Para obtener más tutoriales de trabajadores, preste atención a la columna de tutoriales de trabajadores.