$worker->onWorkerStart = function () use ($worker) {
// 開啟一個內(nèi)部端口,方便內(nèi)部系統(tǒng)推送數(shù)據(jù),Text協(xié)議格式 文本+換行符
$inner_text_worker = new Worker('http://0.0.0.0:5898');
$inner_text_worker->onMessage = function ($connection) use ($worker) {
$data = input('post.');
$data = json_encode($data);
foreach ($worker->uidConnections as $connection) {
$connection->send($data);
}
// 返回推送結(jié)果
};
$inner_text_worker->listen();
Timer::add(3, function () use ($worker) {
$time_now = time();
foreach ($worker->uidConnections as $connection) {
// 有可能該connection還沒收到過消息,則lastMessageTime設置為當前時間
if (empty($connection->lastMessageTime)) {
$connection->lastMessageTime = $time_now;
continue;
}
// 上次通訊時間間隔大于心跳間隔,則認為客戶端已經(jīng)下線,關(guān)閉連接
if ($time_now - $connection->lastMessageTime > 25) {
$connection->close();
}
}
});
};
大哥,你$inner_text_worker->onMessage 里面都沒給http客戶端返回任何東西,http客戶端當然收不到任何返回啊。
$inner_text_worker->onMessage 里面第一行加一句 $connection->send('我收到了'); 試下,也就是收到http請求后立刻http返回一句