摘要:的擴(kuò)展是阻塞式,使用訂閱發(fā)布模式時(shí),會(huì)導(dǎo)致整個(gè)進(jìn)程進(jìn)入阻塞。因此必須使用異步客戶端來實(shí)現(xiàn)。
PHP 的redis擴(kuò)展是阻塞式 IO ,使用訂閱/發(fā)布模式時(shí),會(huì)導(dǎo)致整個(gè)進(jìn)程進(jìn)入阻塞。因此必須使用SwooleRedis異步客戶端來實(shí)現(xiàn)。
實(shí)例代碼$server = new swoole_websocket_server("0.0.0.0", 9501); $server->on("workerStart", function ($server, $workerId) { $client = new swoole_redis; $client->on("message", function (swoole_redis $client, $result) use ($server) { if ($result[0] == "message") { foreach($server->connections as $fd) { $server->push($fd, $result[1]); } } }); $client->connect("127.0.0.1", 6379, function (swoole_redis $client, $result) { $client->subscribe("msg_0"); }); }); $server->on("open", function ($server, $request) { }); $server->on("message", function (swoole_websocket_server $server, $frame) { $server->push($frame->fd, "hello"); }); $server->on("close", function ($serv, $fd) { }); $server->start();實(shí)現(xiàn)過程
在進(jìn)程啟動(dòng)(onWorkerStart)時(shí)創(chuàng)建了SwooleRedis客戶端,連接到Redis服務(wù)器
連接成功后,訂閱msg_0主題的消息
當(dāng)有新的message時(shí),SwooleRedis會(huì)觸發(fā)onMessage事件回調(diào)
在這個(gè)回調(diào)函數(shù)中使用$server->connections遍歷服務(wù)器所有的連接,發(fā)送消息
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/25785.html
摘要:廣播這是最簡單的集群通訊解決方案。實(shí)現(xiàn)方法在治理中心監(jiān)聽集群服務(wù)事件,并及時(shí)更新哈希環(huán)。 問題起因 最近做項(xiàng)目時(shí)遇到了需要多用戶之間通信的問題,涉及到了WebSocket握手請(qǐng)求,以及集群中WebSocket Session共享的問題。 期間我經(jīng)過了幾天的研究,總結(jié)出了幾個(gè)實(shí)現(xiàn)分布式WebSocket集群的辦法,從zuul到spring cloud gateway的不同嘗試,總結(jié)出了...
摘要:經(jīng)過琢磨,其實(shí)是要考慮安全性的。具體在以下幾個(gè)方面跨域連接協(xié)議升級(jí)前握手?jǐn)r截器消息信道攔截器對(duì)于跨域問題,我們可以通過方法來設(shè)置可連接的域名,防止跨站連接。 前言 大學(xué)的學(xué)習(xí)時(shí)光臨近尾聲,感嘆時(shí)光匆匆,三年一晃而過。同學(xué)們都忙著找工作,我也在這里拋一份簡歷吧,歡迎各位老板和獵手誠邀。我們進(jìn)入正題。直播行業(yè)是當(dāng)前火熱的行業(yè),誰都想從中分得一杯羹,直播養(yǎng)活了一大批人,一個(gè)平臺(tái)主播粗略估計(jì)就...
摘要:它采用了請(qǐng)求響應(yīng)模型。通信請(qǐng)求只能由客戶端發(fā)起,服務(wù)端對(duì)請(qǐng)求做出應(yīng)答處理弊端協(xié)議無法實(shí)現(xiàn)服務(wù)器主動(dòng)向客戶端發(fā)起消息。如何使用客戶端創(chuàng)建對(duì)象屬性表示連接狀態(tài)可選值表示連接尚未建立。表示連接正在進(jìn)行關(guān)閉。 一言不合就上效果圖演示showImg(https://segmentfault.com/img/bVbkUDl?w=1920&h=638); 項(xiàng)目:http://112.74.164.1...
閱讀 914·2021-09-03 10:42
閱讀 1521·2019-08-30 15:56
閱讀 1457·2019-08-29 17:27
閱讀 881·2019-08-29 15:25
閱讀 3170·2019-08-26 18:27
閱讀 2494·2019-08-26 13:41
閱讀 1900·2019-08-26 10:39
閱讀 1591·2019-08-23 18:36