首頁  >  文章  >  後端開發  >  swoole怎麼實現單一的查詢,然後發送給所有人

swoole怎麼實現單一的查詢,然後發送給所有人

WBOY
WBOY原創
2016-08-18 09:16:201287瀏覽

我的需求是每隔一段時間查詢資料庫,然後推送到所有人
程式碼類似如下:
while(true){

<code>$sql ="select 1+1";
$count=$mysql->query($sql);
foreach($serv->connections as $fd)
{
    $serv->push($fd, $count);
}
sleep(1000);</code>

}
我現在用swoole websocket的on('message')來寫這個的話,他是每個客戶端連線上來都要開一份這個程式碼在運作。
如何實現運行一個程式碼,所有客戶都能接受到啊。 。

回覆內容:

我的需求是每隔一段時間查詢資料庫,然後推送到所有人
程式碼類似如下:
while(true){

<code>$sql ="select 1+1";
$count=$mysql->query($sql);
foreach($serv->connections as $fd)
{
    $serv->push($fd, $count);
}
sleep(1000);</code>

}
我現在用swoole websocket的on('message')來寫這個的話,他是每個客戶端連線上來都要開一份這個程式碼在運作。
如何實現運行一個程式碼,所有客戶都能接受到啊。 。

我記得有定時器吧?不過我也不懂

只用message的話,把message分成兩種,一種是管理員發送的訊息,另一種是發給其他用戶的,然後每當收到一個管理員的訊息就查一次資料庫,然後群發給其他人。
如果嫌這會佔用太多時間,可以把主要任務放到task裡,這樣管理員一發訊息馬上返回可以處理其他訊息,複雜的東西交給task完成。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn