相关疑难解决方法(0)

如何访问棘轮php定期循环和客户端内部应用程序发送?

我有一个棘轮服务器和聊天应用程序类运行良好.我的问题是如何添加周期循环?

我试图按照周期性地向Ratchet中的客户端发送消息的示例

但我一直无处可去.我的目标就像这个人,是服务器检查所有客户仍然活着.每次我尝试使用addPeriodicTimer时,我似乎无法访问chat.php中的$ clients公共属性,就像上面链接中的人一样,可以从server.php中的定时器发送消息.server.php中的周期性计时器中的foreach循环一直在抱怨它显然有一个"无效参数".

谁能看到我做错了什么?

我的server.php代码:

<?php


require($_SERVER['DOCUMENT_ROOT'].'/var/www/html/vendor/autoload.php');
require_once($_SERVER['DOCUMENT_ROOT']."/var/www/html/bin/chat.php");

use Ratchet\Server\IoServer;
use Ratchet\Http\HttpServer;
use Ratchet\WebSocket\WsServer;
use Ram\Chat;


$server = IoServer::factory(new HttpServer(new WsServer(new Chat())), 8080);

 // Server timer <------ having trouble here
$server->loop->addPeriodicTimer(5, function () use ($server) {
foreach($server->app->clients as $client)
{
    //$client->send("[helloworld]");    
}
});


$server->run();
?>
Run Code Online (Sandbox Code Playgroud)

和我的chat.php:

<?php
namespace Ram;
use Ratchet\MessageComponentInterface;
use Ratchet\ConnectionInterface;


error_reporting(E_ALL ^ E_NOTICE);
session_id($_GET['sessid']);
    if(!session_id)
        session_start();


    $userid = $_SESSION["userid"];
    $username = $_SESSION["username"];
    $isadmin = $_SESSION["isadmin"];
    $resources = array();





    class Users
    {
        public $name;
        public …
Run Code Online (Sandbox Code Playgroud)

php web-services websocket ratchet

10
推荐指数
1
解决办法
1808
查看次数

标签 统计

php ×1

ratchet ×1

web-services ×1

websocket ×1