AsyncTcpConnection调用不到tast的workerman

0

task worker的代码:


<?php
use Workerman\Worker;
require_once './Workerman/Autoloader.php';

// task worker,使用Text协议
$task_worker = new Worker('Text://0.0.0.0:12345');

// task进程数可以根据需要多开一些
$task_worker->count = 1;
$task_worker->name = 'TaskWorker1';
$task_worker->onMessage = function($connection, $task_data)
{
//这下面的代码一直不会执行?????????
// 发送结果
$task_result='1111';
$connection->send($task_result);
};

// 运行worker
Worker::runAll();
?>

调用代码:


// 与远程task服务建立异步链接,ip为远程task服务的ip,如果是本机就是127.0.0.1,如果是集群就是lvs的ip

$task_connection = new AsyncTcpConnection('Text://127.0.0.1:12345');
// 发送数据
$task_connection->send('send to task workerman');
// 异步获得结果
$task_connection->onMessage = function($task_connection, $task_result)
{
//这下面的代码一直调用不了????
echo $task_result;
//获得结果后记得关闭链接
$task_connection->close();
};

$task_connection->onError = function($connection, $code, $msg)
{
//这里也没有报错
};

// 执行异步链接
$task_connection->connect();

代码如上,不知道哪里出问题了, 两个onMessage方法都一直不会被调用。 帮忙看看啊!!! 多谢!!

已邀请:

walkor

赞同来自: mapleit

需要在workerman环境 onXXX 回调中调用代码

要回复问题请先登录注册