<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        TP5 如何整合 WorkerMan 以及 GatewayWorker

        來源:懂視網 責編:小采 時間:2020-11-03 18:24:08
        文檔

        TP5 如何整合 WorkerMan 以及 GatewayWorker

        TP5 如何整合 WorkerMan 以及 GatewayWorker:下面由workerman教程欄目給大家介紹TP5整合 WorkerMan 以及 GatewayWorker的方法,希望對需要的朋友有所幫助!TP5整合GatewayWorkerWindows版安裝a)使用composer create-project topthink/think testTG,來安裝thinkphp5
        推薦度:
        導讀TP5 如何整合 WorkerMan 以及 GatewayWorker:下面由workerman教程欄目給大家介紹TP5整合 WorkerMan 以及 GatewayWorker的方法,希望對需要的朋友有所幫助!TP5整合GatewayWorkerWindows版安裝a)使用composer create-project topthink/think testTG,來安裝thinkphp5
        下面由workerman教程欄目給大家介紹TP5整合 WorkerMan 以及 GatewayWorker的方法,希望對需要的朋友有所幫助!

        TP5整合GatewayWorker

        Windows版安裝

        a)使用composer create-project topthink/think testTG,來安裝thinkphp5.

        b)進入thinkphp5的目錄,此處為testTG,使用composer require workerman/gateway-worker-for-win 安裝Windows版本的gateway。

        c)去官網下載Windows版的gateway-worker,里面有demo。http://www.workerman.net/download

        d)將下載的壓縮包解壓,將Applications/Yourapp中的文件全部復制到thinkphp5目錄application里面的任意文件夾,這里取名為push。

        e)將解壓后的文件夾中的start_for_win.bat復制到thinkphp5的根目錄,即與application同級的目錄。

        f)右鍵start_for_win.bat,點編輯,將里面的目錄改成自己的目錄,這里改為

        php applicationpushstart_register.php applicationpushstart_gateway.php applicationpushstart_businessworker.php
        Pause

        g)保存退出。雙擊運行。

        Linux版安裝

        a)使用composer create-project topthink/think testTG,來安裝thinkphp5.

        b)進入thinkphp5的目錄,此處為testTG,使用composer require workerman/gateway-worker 安裝Linux版本的gateway。

        c)去官網下載Linux版的gateway-worker,里面有demo。http://www.workerman.net/download

        d)將下載的壓縮包解壓,將Applications/Yourapp中的文件全部復制到thinkphp5目錄application里面的任意文件夾,這里取名為push。

        e)將解壓后的文件夾中的start.php復制到thinkphp5的根目錄,即與application同級的目錄。

        f)將start.php文件中最后部分forearch循環括號內的路徑改為自己的正確路徑。

        在命令行php start.php start 啟動。

        TP5整合WrokerMan

        Windows版安裝

        a)使用composer create-project topthink/think testTW,來安裝thinkphp5.

        b)進入thinkphp5根目錄,即testTW。先使用composer require topthink/think-worker,

        再使用composer require workerman/workerman-for-win,來安裝workerman。安裝成功之后刪除vendorworkermanworkerman。

        c)在thinkphp5根目錄(即與application同級目錄)創建server.php,編輯一下內容。

        <?php
        efine('APP_PATH', __DIR__ . '/application/');
        define('BIND_MODULE','push/Worker');
        // 加載框架引導文件
        require __DIR__ . '/thinkphp/start.php';

        d)創建workerman的controller,命名為Worker.php。在application/push/controller,目錄不存在自行創建。添加以下內容:

        protected $socket = 'websocket://127.0.0.1:2346'其中127.0.0.1為socket服務器所在的ip地址。此處監聽本機的2346端口。

        <?php
        namespace apppushcontroller;
        use thinkworkerServer;
        class Worker extends Server
        {
         protected $socket = 'websocket://127.0.0.1:2346';
         /**
         * 收到信息
         * @param $connection
         * @param $data
         */
         public function onMessage($connection, $data)
         {
         $connection->send('我收到你的信息了');
         }
         /**
         * 當連接建立時觸發的回調函數
         * @param $connection
         */
         public function onConnect($connection)
         {
         }
         /**
         * 當連接斷開時觸發的回調函數
         * @param $connection
         */
         public function onClose($connection)
         {
         
         }
         /**
         * 當客戶端的連接上發生錯誤時觸發
         * @param $connection
         * @param $code
         * @param $msg
         */
         public function onError($connection, $code, $msg)
         {
         echo "error $code $msg
        ";
         }
         /**
         * 每個進程啟動
         * @param $worker
         */
         public function onWorkerStart($worker)
         {
         }
        }

        e)在命令行下運行,啟動監聽服務php server.php

        f)任意位置新建一個html文件。其中內容為:

        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <script>
        ws = new WebSocket("ws://localhost:2346");
        ws.onopen = function() {
         alert("連接成功");
         ws.send('tom');
         alert("給服務端發送一個字符串:tom");
        };
        ws.onmessage = function(e) {
         alert("收到服務端的消息:" + e.data);
        };
        </script>

        g)保存,用瀏覽器打開,就可以看到鏈接成功。

        Linux版安裝

        a)只需將Windows版安裝的b)步驟中的composer命令只執行:composer require topthink/think-worker。即可,其余步驟不變。

        簡單使用GatewayWorker

        <script type="text/javascript">
        /**
         * 與GatewayWorker建立websocket連接,域名和端口改為你實際的域名端口,
         * 其中端口為Gateway端口,即start_gateway.php指定的端口。
         * start_gateway.php 中需要指定websocket協議,像這樣
         * $gateway = new Gateway(websocket://0.0.0.0:7272);
         */
        ws = new WebSocket("ws://127.0.0.1:8282");
        // 服務端主動推送消息時會觸發這里的onmessage
        ws.onmessage = function(e){
         // json數據轉換成js對象
         var bindUrl = "{:url('push/BindClientId')}";
         var data = e.data;
         var type = data.type || '';
         switch(type){
         // Events.php中返回的init類型的消息,將client_id發給后臺進行uid綁定
         case 'init':
         // 利用jquery發起ajax請求,將client_id發給后端進行uid綁定
         $.post(bindUrl, {client_id: data.client_id}, function(data){
         }, 'json');
         break;
         // 當mvc框架調用GatewayClient發消息時直接alert出來
         default :
         var text = e.data;
         var str = '<li style="width:100%; height:60px; border:1px solid #000">' +text +'</li>';
         $('#message_box').append();
         // alert(e.data);
         }
        };
        </script>
        class Push{
         
         public function helloAction () {
         $uid = $_GET['uid'];
         session('uid', $uid);
         $view = new View;
         return $view->fetch();
         }
         public function BindClientIdAction () {
         
         $client_id = $_POST['client_id'];
         // 設置GatewayWorker服務的Register服務ip和端口,請根據實際情況改成實際值
         Gateway::$registerAddress = '127.0.0.1:1238';
         $bindUid = session('uid');
         // 假設用戶已經登錄,用戶uid和群組id在session中
         // client_id與uid綁定
         Gateway::bindUid($client_id, $bindUid);
         // 加入某個群組(可調用多次加入多個群組)
         // Gateway::joinGroup($client_id, $group_id);
         }
         public function AjaxSendMessageAction () {
         $message = $_POST['message'];
         // 設置GatewayWorker服務的Register服務ip和端口,請根據實際情況改成實際值
         Gateway::$registerAddress = '127.0.0.1:1238';
         GateWay::sendToAll($message);
         }
        }

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        TP5 如何整合 WorkerMan 以及 GatewayWorker

        TP5 如何整合 WorkerMan 以及 GatewayWorker:下面由workerman教程欄目給大家介紹TP5整合 WorkerMan 以及 GatewayWorker的方法,希望對需要的朋友有所幫助!TP5整合GatewayWorkerWindows版安裝a)使用composer create-project topthink/think testTG,來安裝thinkphp5
        推薦度:
        標簽: 以及 gateway 集成
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 精品日韩亚洲AV无码一区二区三区 | MM131亚洲国产美女久久 | 免费萌白酱国产一区二区| 亚洲天堂一区在线| 99久在线国内在线播放免费观看| 亚洲国产综合无码一区二区二三区| 亚洲中文字幕无码亚洲成A人片| 成人爽a毛片免费| 久久精品国产亚洲av日韩| 性xxxx视频免费播放直播| 在线观看亚洲一区二区| 日本免费xxxx色视频| 亚洲老熟女@TubeumTV| 麻豆一区二区免费播放网站 | 亚洲导航深夜福利| 成全影视免费观看大全二| 亚洲国产精品久久久久秋霞小| 国产精品免费播放| 国产无遮挡色视频免费观看性色| 亚洲午夜av影院| 一级毛片不卡片免费观看| 亚洲午夜电影在线观看高清 | 国产无遮挡裸体免费视频在线观看| 亚洲色精品aⅴ一区区三区| 久久午夜无码免费| 亚洲人成免费网站| 国产aa免费视频| 无码国产精品一区二区免费vr| 久久精品国产亚洲AV电影| 成人免费a级毛片无码网站入口| 亚洲国产精品成人AV在线| 国产亚洲色视频在线| 4hu四虎最新免费地址| 午夜亚洲WWW湿好爽| 国产AV无码专区亚洲A∨毛片| 色猫咪免费人成网站在线观看| 亚洲首页国产精品丝袜| 国产精品亚洲高清一区二区| 91人人区免费区人人| 国产亚洲成在线播放va| 亚洲伊人久久大香线蕉苏妲己|