transport属性

requisito (workerman >= 3.3.4)

Configura las propiedades de transporte, los valores opcionales son tcp y ssl, el valor predeterminado es tcp.

Cuando el transport es ssl, se requiere que PHP tenga instalada la extensión openssl.

Al usar Workerman como cliente para iniciar una conexión cifrada ssl al servidor (conexión https, conexión wss, etc.), configure esta opción como ssl, por ejemplo, en el siguiente ejemplo.

Ejemplo (conexión https)

use Workerman\Worker;
use Workerman\Connection\AsyncTcpConnection;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';

$task = new Worker();
// Al iniciar el proceso, se establece de forma asíncrona un objeto de conexión a www.baidu.com y se envían datos para obtener datos
$task->onWorkerStart = function($task)
{
    $connection_to_baidu = new AsyncTcpConnection('tcp://www.baidu.com:443');

    // Establecer como conexión cifrada ssl
    $connection_to_baidu->transport = 'ssl';

    $connection_to_baidu->onConnect = function(AsyncTcpConnection $connection_to_baidu)
    {
        echo "conexión exitosa\n";
        $connection_to_baidu->send("GET / HTTP/1.1\r\nHost: www.baidu.com\r\nConnection: keep-alive\r\n\r\n");
    };
    $connection_to_baidu->onMessage = function(AsyncTcpConnection $connection_to_baidu, $http_buffer)
    {
        echo $http_buffer;
    };
    $connection_to_baidu->onClose = function(AsyncTcpConnection $connection_to_baidu)
    {
        echo "conexión cerrada\n";
    };
    $connection_to_baidu->onError = function(AsyncTcpConnection $connection_to_baidu, $code, $msg)
    {
        echo "Código de error:$code msg:$msg\n";
    };
    $connection_to_baidu->connect();
};

// Ejecutar worker
Worker::runAll();