鍍金池/ 問答/PHP  HTML/ workerman結(jié)合thinkphp怎么實(shí)時更新數(shù)據(jù)?

workerman結(jié)合thinkphp怎么實(shí)時更新數(shù)據(jù)?

workerman結(jié)合thinkphp怎么實(shí)時更新數(shù)據(jù)?
整合了下方法,只能當(dāng)客戶端連接時觸發(fā),有消息時觸發(fā),當(dāng)用戶斷開連接時觸發(fā),那我想實(shí)時更新數(shù)據(jù)怎么辦?就比如數(shù)據(jù)庫多了一條數(shù)據(jù),就發(fā)送到客戶端,或者說wokerman有沒有主動觸發(fā)發(fā)送數(shù)據(jù)到客戶端的方法呢?

clipboard.png

回答
編輯回答
念舊

數(shù)據(jù)庫多出數(shù)據(jù)時,在業(yè)務(wù)邏輯層肯定是有數(shù)據(jù)庫的insert()操作,其實(shí)這個時候無需遍歷數(shù)據(jù)庫,就是在插入數(shù)據(jù)的同時,用workman向特定的client_id推送數(shù)據(jù)就可以了。
我之前做了一個開發(fā)板,因每一秒開發(fā)板向服務(wù)器提交一次數(shù)據(jù),我發(fā)現(xiàn)如果記錄到數(shù)據(jù)庫的話那信息量是非常大的,所以通常只判斷發(fā)生變更的設(shè)置進(jìn)行寫入操作和推送操作,類似實(shí)時溫度等數(shù)據(jù)是直接讓workman和客戶端進(jìn)行通信的,不再經(jīng)過數(shù)據(jù)庫處理。這只是我曾遇到的問題及解決辦法。僅供參考

2017年3月31日 08:05
編輯回答
兔寶寶

示例里不是有嘛?

GateWay::sendToAll($message);

就這句主動向所有人發(fā)送消息,你看下怎么在其他php文件里引入GateWay實(shí)例就行,剩下的我不太懂php

2017年3月27日 00:56