我采用workerman 作為客戶端從其他服務(wù)端接收數(shù)據(jù)并處理,需要作為客戶機(jī)同時(shí)連接兩個(gè)不同的socket服務(wù)端,請(qǐng)問(wèn)有方式實(shí)現(xiàn)嗎?
如下Eg僅做參考:
<?php
require_once __DIR__ . './autoroad.php';
use Workerman\Worker;
use Workerman\Connection\AsyncTcpConnection;
$worker1 = new Worker();
$worker1->onWorkerStart = function ($worker) {
//global $con1, $con2;
$con1 = new AsyncTcpConnection('tcp://127.0.0.1:4444');
$con1->onConnect = function(AsyncTcpConnection $con) {
$con->send('hello 444444');
};
$con1->onMessage = function(AsyncTcpConnection $con, $data) {
//tcp://127.0.0.1:4444接收服務(wù)過(guò)來(lái)的數(shù)據(jù)
echo $data;
echo "!!!!!!!!!!!!!!";
};
$con1->connect();
$con2 = new AsyncTcpConnection('tcp://127.0.0.1:5555');
$con2->onConnect = function(AsyncTcpConnection $con) {
$con->send('hello 55555555');
};
$con2->onMessage = function(AsyncTcpConnection $con, $data) {
//tcp://127.0.0.1:5555接收服務(wù)過(guò)來(lái)的數(shù)據(jù)
echo $data;
echo "@@@@@@@@@@@@@";
};
$con2->connect();
};
$worker2 = new Worker("tcp://0.0.0.0:4444");
$worker2->onMessage = function($connection, $data)
{
// 接收客戶端過(guò)來(lái)的數(shù)據(jù)
var_dump($data);
//向客戶端發(fā)送
$connection->send('44444444444444 hello');
};
$worker3 = new Worker("tcp://0.0.0.0:5555");
$worker3->onMessage = function($connection, $data)
{
// 接收客戶端過(guò)來(lái)的數(shù)據(jù)
var_dump($data);
//向客戶端發(fā)送
$connection->send('55555555555 hello');
};
Worker::runAll();