transport属性
exigence (workerman >= 3.3.4)
Définissez les attributs de transport, les valeurs possibles sont tcp et ssl, la valeur par défaut est tcp.
Lorsque le transport est ssl, PHP doit avoir l'extension openssl installée.
Lorsque Workerman agit en tant que client pour établir une connexion SSL sécurisée avec le serveur (connexion https, connexion wss, etc.), veuillez définir cette option sur ssl, comme dans l'exemple ci-dessous.
Exemple (connexion https)
use Workerman\Worker;
use Workerman\Connection\AsyncTcpConnection;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';
$task = new Worker();
// Lors du démarrage du processus, établissez de manière asynchrone un objet de connexion vers www.baidu.com et envoyez des données pour en obtenir
$task->onWorkerStart = function($task)
{
$connection_to_baidu = new AsyncTcpConnection('tcp://www.baidu.com:443');
// Définir comme connexion sécurisée ssl
$connection_to_baidu->transport = 'ssl';
$connection_to_baidu->onConnect = function(AsyncTcpConnection $connection_to_baidu)
{
echo "connexion réussie\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 "connexion fermée\n";
};
$connection_to_baidu->onError = function(AsyncTcpConnection $connection_to_baidu, $code, $msg)
{
echo "Code d'erreur:$code msg:$msg\n";
};
$connection_to_baidu->connect();
};
// Exécuter le worker
Worker::runAll();