1 回答

TA贡献1856条经验 获得超5个赞
ClosedException我确实找到了解决这个问题的方法,方法是在它被抛出后寻找并运行其他任务。
\Amp\Loop::run(function () use ($fn, $st)
{
try
{
$connection = yield \Amp\Websocket\connect('wss://URL');
yield $connection->send('{"action":"auth","params":"KEYID"}');
yield $connection->send('{"action":"subscribe","params":"'.$st.'"}');
$i = 0;
while ($message = yield $connection->receive())
{
$i++;
$payload = yield $message->buffer();
$r = $fn($payload, $i);
if ($r == false) {
$connection->close();
break;
}
}
}
catch (\Amp\Websocket\ClosedException $e)
{
// do something here
}
}
);
- 1 回答
- 0 关注
- 114 浏览
添加回答
举报