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

WBOY
發布: 2016-08-18 09:16:20
原創
1261 人瀏覽過

我的需求是每隔一段時間查詢資料庫,然後推送到所有人
程式碼類似如下:
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完成。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!