1

Ratchet send 无法使用该sleep功能,我该如何解决?

这是我的代码:

$i = 0;
while($i < 180)
{
    foreach ($this->clients as $client)
    {

       $client->send($res->asXML()."\0");
    }
    sleep(2);
    $i++;
}
4

1 回答 1

3

将 sleep() 与棘轮一起使用并不是一个好主意。相反,最好利用其现有的事件循环。

我不确定您到底要完成什么,但这是一个基本示例。我敢打赌,您将需要重新编写代码以适应这种不同的技术。

//Start the server
$server = IoServer::factory(
    new WsServer($session),
    $port,
    $addr
);

//Attach the loop
$server->loop->addPeriodicTimer(2, function () {
    $client->send($res->asXML()."\0");
});

资料来源:

  1. https://github.com/reactphp/event-loop
  2. https://groups.google.com/forum/#!msg/ratchet-php/MsTqELDoBb0/lQ_J8aR2eUcJ
于 2013-06-24T16:25:30.993 回答