打開(kāi)瀏覽器保持與服務(wù)器握手的websocket
之前用workerman接過(guò)很花時(shí)間,現(xiàn)在workerman對(duì)其代碼做了優(yōu)化-》https://www.workerman.net/web-sender

效果1:
接收消息頁(yè)面:http://demos.workerman.net/web-sender/
推送接口url:http://demos.workerman.net:2121/?type=publish to=uid content=content
其中to為接收消息的uid,如果傳空則向所有人推送消息 content 為消息內(nèi)容
效果2:
見(jiàn)本頁(yè)面頁(yè)腳在線(xiàn)統(tǒng)計(jì)部分,支持實(shí)時(shí)的在線(xiàn)人數(shù)和在線(xiàn)頁(yè)面統(tǒng)計(jì)
其它應(yīng)用vmstat服務(wù)器狀態(tài)監(jiān)控服務(wù)
WEB消息推送框架
BrowserQuest PHP版本攝像頭視頻直播Thrift RPC 遠(yuǎn)程調(diào)用框架Json RPC遠(yuǎn)程調(diào)用框架聊天室框架統(tǒng)計(jì)監(jiān)控系統(tǒng)PHP小蝌蚪實(shí)時(shí)交互游戲 hotflappy bird 多人在線(xiàn)版游戲
安裝啟動(dòng)首先:參考手冊(cè)檢查/安裝workerman環(huán)境
1、下載:(下載web-msg-sender,并解壓縮到任意目錄
2、啟動(dòng):linux系統(tǒng)cd到到框架目錄里運(yùn)行php start.php start -d。windows系統(tǒng)進(jìn)入到框架目錄里雙擊start_for_win.bat文件啟動(dòng)。
3、測(cè)試:瀏覽器訪問(wèn)端口http://ip:2123或者h(yuǎn)ttp://域名:2123,例如 http://workerman.net:2123如圖:(如果無(wú)法訪問(wèn)請(qǐng)檢查服務(wù)器防火墻,如果是云服務(wù)器還要設(shè)置安全組)
前端測(cè)試: script src= /uploads/allimg/190427/102F06192-1.jpg /script script // 連接服務(wù)端,workerman.net:2120換成實(shí)際部署web-msg-sender服務(wù)的域名或者ip var socket = io( http://workerman.net:2120 // uid可以是自己網(wǎng)站的用戶(hù)id,以便針對(duì)uid推送以及統(tǒng)計(jì)在線(xiàn)人數(shù) uid = 123; // socket連接后以u(píng)id登錄 socket.on( connect , function(){ socket.emit( login , uid); // 后端推送來(lái)消息時(shí) socket.on( new_msg , function(msg){ console.log( 收到消息: +msg); // 后端推送來(lái)在線(xiàn)數(shù)據(jù)時(shí) socket.on( update_online_count , function(online_stat){ console.log(online_stat); /script 后端調(diào)用api向任意用戶(hù)推送:?php// 指明給誰(shuí)推送,為空表示向所有在線(xiàn)用戶(hù)推送$to_uid = // 推送的url地址,使用自己的服務(wù)器地址$push_api_url = http://workerman.net:2121/ $post_data = array( type = publish , content = 這個(gè)是推送的測(cè)試數(shù)據(jù) , to = $to_uid, $ch = curl_init ();curl_setopt ( $ch, CURLOPT_URL, $push_api_url );curl_setopt ( $ch, CURLOPT_POST, 1 );curl_setopt ( $ch, CURLOPT_HEADER, 0 );curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );curl_setopt ( $ch, CURLOPT_POSTFIELDS, $post_data );curl_setopt ($ch, CURLOPT_HTTPHEADER, array( Expect: ));$return = curl_exec ( $ch );curl_close ( $ch );var_export($return);
在linux跑時(shí),可能需要php的posix和pcntl擴(kuò)展
WorkerMan的推送 添加到Y(jié)II2 [ 2.0 版本 ]
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,更多相關(guān)內(nèi)容請(qǐng)關(guān)注PHP !
相關(guān)推薦:
PHP的文件和目錄操作
php生成短連接的方法
以上就是php 如何加入即時(shí)推送的功能的詳細(xì)內(nèi)容,PHP教程
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注