pipe
Description:
void Connection::pipe(TcpConnection $target_connection)
Paramètres
Redirige le flux de données de la connexion actuelle vers la connexion cible. Le contrôle de flux est intégré. Cette méthode est très utile pour le proxy TCP.
Exemple de proxy TCP
<?php
use Workerman\Worker;
use Workerman\Connection\AsyncTcpConnection;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';
$worker = new Worker('tcp://0.0.0.0:8483');
$worker->count = 12;
// Après l'établissement de la connexion tcp
$worker->onConnect = function(TcpConnection $connection)
{
// Établir une connexion asynchrone sur le port 80 local
$connection_to_80 = new AsyncTcpConnection('tcp://127.0.0.1:80');
// Configurer l'acheminement des données de la connexion client actuelle vers la connexion du port 80
$connection->pipe($connection_to_80);
// Configurer l'acheminement des données retournées par la connexion du port 80 vers la connexion client
$connection_to_80->pipe($connection);
// Exécuter la connexion asynchrone
$connection_to_80->connect();
};
// Exécuter le worker
Worker::runAll();