鍍金池/ 問答/PHP/ 如何實(shí)現(xiàn)服務(wù)器向客戶端發(fā)送消息的功能?

如何實(shí)現(xiàn)服務(wù)器向客戶端發(fā)送消息的功能?

實(shí)現(xiàn)的功能,類似于即時(shí)通訊.
就是在一個(gè)客戶端對發(fā)送消息,或請求某個(gè)功能,再另一個(gè)客戶端會(huì)反饋的功能.
有沒有這樣的功能教程推薦一下,謝謝~

回答
編輯回答
帥到炸

swoole, 或者socket.io都可以實(shí)現(xiàn).

2017年7月14日 02:14
編輯回答
尐潴豬

可以分為不使用HTTP協(xié)議和使用HTTP協(xié)議:

不使用HTTP:用HTML5的WebSocket

使用HTTP協(xié)議:
1.簡易輪詢(瀏覽器的 頁面定時(shí)刷新或者ajax定時(shí)輪詢,對服務(wù)器壓力大)
2.Comet技術(shù)服務(wù)端推送
3.HTML5的服務(wù)器推送事件(SSE Server-sent Events)

封裝好的庫可以用socket.io,會(huì)根據(jù)客戶端自行選擇合適的技術(shù)

2017年2月15日 00:43
編輯回答
陌南塵

要是對實(shí)時(shí)性要求比較高的話,研究研究websocket;
實(shí)時(shí)性要求不高的話,就可以像開源中國首頁動(dòng)彈,每隔一定時(shí)間(20秒)發(fā)一次請求,獲取最新消息。
還有個(gè)辦法,設(shè)置個(gè)請求超時(shí)時(shí)間,前端發(fā)個(gè)請求,后端接到請求后,查詢是否有最新消息,有了就立即返回,沒有就等著(不停查詢是否有最新消息),直到超時(shí);前端收到后端回復(fù) 或者超時(shí)異常后,再次發(fā)請求。 優(yōu)點(diǎn)是實(shí)時(shí)性高;缺點(diǎn)是 用戶多的話,比較耗性能。

2017年5月29日 16:56
編輯回答
薄荷綠

試試 websocket?

2017年10月9日 14:55