task worker的代碼:
<?php
use Workerman\Worker;
require_once './Workerman/Autoloader.php';
// task worker,使用Text協(xié)議
$task_worker = new Worker('Text://0.0.0.0:12345');
// task進(jìn)程數(shù)可以根據(jù)需要多開一些
$task_worker->count = 1;
$task_worker->name = 'TaskWorker1';
$task_worker->onMessage = function($connection, $task_data)
{
//這下面的代碼一直不會(huì)執(zhí)行?????????
// 發(fā)送結(jié)果
$task_result='1111';
$connection->send($task_result);
};
// 運(yùn)行worker
Worker::runAll();
?>
調(diào)用代碼:
// 與遠(yuǎn)程task服務(wù)建立異步鏈接,ip為遠(yuǎn)程task服務(wù)的ip,如果是本機(jī)就是127.0.0.1,如果是集群就是lvs的ip
$task_connection = new AsyncTcpConnection('Text://127.0.0.1:12345');
// 發(fā)送數(shù)據(jù)
$task_connection->send('send to task workerman');
// 異步獲得結(jié)果
$task_connection->onMessage = function($task_connection, $task_result)
{
//這下面的代碼一直調(diào)用不了????
echo $task_result;
//獲得結(jié)果后記得關(guān)閉鏈接
$task_connection->close();
};
$task_connection->onError = function($connection, $code, $msg)
{
//這里也沒有報(bào)錯(cuò)
};
// 執(zhí)行異步鏈接
$task_connection->connect();
代碼如上,不知道哪里出問題了, 兩個(gè)onMessage方法都一直不會(huì)被調(diào)用。 幫忙看看?。。?! 多謝!!