Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo comprobar el puerto en el que escucha Swoole

Cómo comprobar el puerto en el que escucha Swoole

Puerto de escucha [Editar esta página]

Swoole-1.8.0 agrega soporte para protocolos mixtos multipuerto. El servidor puede escuchar en múltiples puertos, cada uno con un conjunto diferente de controladores de protocolo y funciones de devolución de llamada. El cifrado de transporte SSL/TLS también se puede habilitar solo en puertos específicos.

El puerto de escucha que no configura la opción de procesamiento de protocolo usa el modo sin protocolo de forma predeterminada

El puerto de escucha que no configura la función de devolución de llamada usa la función de devolución de llamada del $ objeto del servidor

El puerto de escucha Devolverá un objeto de tipo swoole_server_port

Las funciones de devolución de llamada de los diferentes puertos de escucha son las siguientes. Sin embargo, la ejecución en el espacio del proceso de trabajo sigue siendo la misma.

El servidor principal utiliza el protocolo WebSocket o Http, el nuevo puerto TCP de escucha hereda la configuración del protocolo del servidor principal de forma predeterminada.

Antes de habilitar el nuevo protocolo, debe llamar al método set por separado para configurar el nuevo protocolo

Escuche el nuevo puerto

$port1 = $server-> listening("127.0.0.1 ", 9501, SWOOLE_SOCK_TCP );

$puerto2 = $servidor-> escuchar("127.0.0.1", 9502, SWOOLE_SOCK_UDP);

$puerto3 = $servidor-> escuchar( "127.0.0.1" , 9503, SWOOLE_SOCK_TCP | SWOOLE_SSL);

Establecer protocolo de red

$port1->set(

'open_length_check' => verdadero,

'package_length_type' => 'N',

'package_length_offset' => 0,

'package_max_length' => 800000,

);

$port3->set(

'open_eof_split' => true,

'package_eof' = > "\r\n",

'ssl_cert_file' => 'ssl.cert',

'ssl_key_file' => 'ssl.key',

);

Establecer función de devolución de llamada

$port1->on(' connect', function ($serv, $fd){

echo "Client:Connect.\n";

});

$port1->on(' recibir', función ($serv, $fd, $from_id, $ data) {

$serv- >enviar($fd , 'Swoole: '.$data);

$serv->close($fd);

});

$ port1->on( 'cerrar', función ($serv, $fd) {

echo "Cliente: Cerrar.\n";

});

$port2- >on('paquete', función ($serv, $datos, $addr) {

var_dump($datos, $addr);

});

Http/WebSocket

swoole_http_server y swoole_websocket_server no pueden usar escucha para crear servidores Http/WebSocket porque se implementan mediante subclases heredadas. Si la función principal de su servidor es RPC, pero desea proporcionar una interfaz de administración web simple.

En este caso, primero puede crear un servidor Http/WebSocket y luego escuchar en el puerto del servidor RPC.

La demostración del pseudocódigo es la siguiente:

$http_server=new swoole_http_server('0.0.0.0',9998);

$http_server->set(array('xxx'=>' yyyy' ));

$http _server->on('request','request');

...Establecer una única devolución de llamada...

// Escuche otro puerto tcp, abra el servicio tcp al mundo exterior y configure la devolución de llamada del servidor tcp

$tcp_server=$http_server->addListener('0.0.0.0',9999,SWOOLE_SOCK_TCP );

A través de este código, podemos crear un servidor que proporcione servicios http y servicios tcp al mundo exterior al mismo tiempo, y usted implementará combinaciones de códigos más elegantes.