Workerman的Worker做服務(wù)端,
現(xiàn)在想利用TcpConnection做客戶端來連接Worker服務(wù)器。
require_once './Autoloader.php';
$conn = new \Workerman\Connection\AsyncTcpConnection("Websocket://localhost:8081");
$conn->connect();
php start.php
報(bào):PHP Fatal error: Call to a member function add() on null in /opt/webpopled/WebsocketServer/Connection/AsyncTcpConnection.php on line 86
手冊有
http://doc.workerman.net/appendices/about-ws.html
use Workerman\Worker;
use Workerman\Connection\AsyncTcpConnection;
require_once __DIR__ . '/Workerman/Autoloader.php';
$worker = new Worker();
// 進(jìn)程啟動時
$worker->onWorkerStart = function()
{
// 以websocket協(xié)議連接遠(yuǎn)程websocket服務(wù)器
$ws_connection = new AsyncTcpConnection("ws://echo.websocket.org:80");
// 連上后發(fā)送hello字符串
$ws_connection->onConnect = function($connection){
$connection->send('hello');
};
// 遠(yuǎn)程websocket服務(wù)器發(fā)來消息時
$ws_connection->onMessage = function($connection, $data){
echo "recv: $data\n";
};
// 連接上發(fā)生錯誤時,一般是連接遠(yuǎn)程websocket服務(wù)器失敗錯誤
$ws_connection->onError = function($connection, $code, $msg){
echo "error: $msg\n";
};
// 當(dāng)連接遠(yuǎn)程websocket服務(wù)器的連接斷開時
$ws_connection->onClose = function($connection){
echo "connection closed\n";
};
// 設(shè)置好以上各種回調(diào)后,執(zhí)行連接操作
$ws_connection->connect();
};
Worker::runAll();