Proprietà transport
requisito (workerman >= 3.3.4)
Imposta la proprietà di trasporto, i valori opzionali sono tcp e ssl, il valore predefinito è tcp.
Quando transport è impostato su ssl, è necessario che PHP abbia installato l'estensione openssl.
Quando si utilizza Workerman come client per avviare una connessione crittografata ssl verso il server (connessione https, connessione wss, ecc.), impostare questa opzione su ssl, come nell'esempio seguente.
Esempio (connessione https)
use Workerman\Worker;
use Workerman\Connection\AsyncTcpConnection;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';
$task = new Worker();
// All'avvio del processo, stabilisce in modo asincrono un oggetto di connessione a www.baidu.com e invia dati per ricevere dati
$task->onWorkerStart = function($task)
{
$connection_to_baidu = new AsyncTcpConnection('tcp://www.baidu.com:443');
// Imposta la connessione come connessione crittografata ssl
$connection_to_baidu->transport = 'ssl';
$connection_to_baidu->onConnect = function(AsyncTcpConnection $connection_to_baidu)
{
echo "connessione riuscita\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 "connessione chiusa\n";
};
$connection_to_baidu->onError = function(AsyncTcpConnection $connection_to_baidu, $code, $msg)
{
echo "Codice errore:$code msg:$msg\n";
};
$connection_to_baidu->connect();
};
// Esegui worker
Worker::runAll();