大概需求是這樣,有幾百家店鋪,需要將workerman作為客戶端同時與這幾百家店鋪的外部websocket地址建立連接,監(jiān)聽獲取實時新的訂單,請問有沒有大佬能夠提供一下思路,感激不盡
代碼類似
use
<?php
use Workerman\Worker;
use Workerman\Connection\AsyncTcpConnection;
require_once __DIR__ . '/Workerman/Autoloader.php';
$worker = new Worker();
$worker->onWorkerStart = function($worker){
$con = new AsyncTcpConnection('ws://echo.websocket.org:80');
// 給接口發(fā)送數(shù)據(jù)
$con->onConnect = function($con) {
$con->send('hello');
};
// 收到訂單更新信息
$con->onMessage = function($con, $data) {
echo $data;
};
$con->connect();
};
Worker::runAll();
嗯嗯,感謝,就是如果要對這幾百家店鋪同時都保持外部的websocket連接要怎么做呢?
// 幾百個地址列出來
$all_url = ['ws://a.com','ws://b.com', 'ws://c.com'];
foreach ($all_url as $url) {
$con = new AsyncTcpConnection($url);
// 給接口發(fā)送數(shù)據(jù)
$con->onConnect = function($con) {
$con->send('hello');
};
// 收到訂單更新信息
$con->onMessage = function($con, $data) {
echo $data;
};
$con->connect();
}