我有一个使用while(true)
运行的脚本,因此它会一直运行直到它死亡。
我希望能够每隔3分钟发送一次消息并重新连接每个断开连接,我该怎么做?
使用PHP托管在Jabber服务器上运行的脚本,因此令人困惑,而且我不知道如何让它每隔3分钟执行一次,并在断开连接时自动重新连接,因为如果我正在使用{ {1}}或sleep()
脚本将堆叠,脚本自动响应消息将无法运行。
那我该怎么做呢?有人能帮助我吗?
usleep()
答案 0 :(得分:2)
使用睡眠功能: http://php.net/manual/en/function.sleep.php
// sleep for 30 seconds
sleep(30);
答案 1 :(得分:0)
你可以使用sleep();
echo $statement1;
sleep(180);
echo $statement2;
答案 2 :(得分:0)
尝试这样的事情:
<?php
while (@ob_end_flush());
try {
while (!$this->disconnect()) {
$this->connect();
while (!$this->isDisconnected()) {
$starts = $this->processUntil(array('message', 'session_start'));
foreach ($starts as $go) {
$new = $go[1];
switch ($go[0]) {
case 'session_start':
break;
case 'message':
$filter = $show = "online";
if ($new['from'] == $filter) {
$sender = explode('@', $new['from']);
$this->message($new['from'], $body = "Auto Respond Message: Sorry $sender[0] Iam Not Here Right Now", $type = "chat");
}
$the_time = time();
$interval = 3 * 60;
while (true) {
if ($the_time + $interval >= time()) {
$this->message($myself, $body = "PING !!!", $type = "chat");
ob_flush();
flush();
$the_time = time();
}
$this->presence($status = "ONLINE !!!", $show = "online");
}
break;
}
}
}
}
} catch (XMPPHP_Exception $e) {
die($e->getMessage());
}
答案 3 :(得分:0)
使用循环并使用sleep回显文本;
// sleep for 20 seconds
while( true )
{
echo "text here!";
sleep(20);
}
它将在1分钟内回复文本3次。