<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      Fork me on github

      thinkPHP5擴(kuò)展workerman

      1-安裝workerman
      
      首先通過 composer 安裝
      composer require topthink/think-worker -vvv
      
      
      

        

       如果報(bào)錯(cuò):
      Installation failed, reverting ./composer.json to its original cont
      
      
      

        

       則使用
      composer require topthink/think-worker=1.0.* -vvv
      
      
      

        

       如果需要在window下做服務(wù)端,還需要
      composer require workerman/workerman-for-win -vvv
      
      
      

        

      2-在thinkphp5根目錄(即與application同級(jí)目錄)創(chuàng)建server.php,編輯一下內(nèi)容。 server.php 文件內(nèi)容
      define('APP_PATH', __DIR__ . '/application/');
      define('BIND_MODULE','push/Worker');
      // 加載框架引導(dǎo)文件
      require __DIR__ . '/thinkphp/start.php';
      
      
      

        

      3-新建模塊和控制器
      創(chuàng)建workerman的controller,命名為Worker.php。在application/push/controller,目錄不存在自行創(chuàng)建。添加以下內(nèi)容:
      
      
      

        

      4-Worker.php。文件的內(nèi)容

      <?php
      
      namespace app\push\controller;
      
      use think\worker\Server;
      
      class Worker extends Server
      {
        protected $socket = 'websocket://127.0.0.1:2346';
      
        /**
        * 收到信息
        * @param $connection
        * @param $data
        */
        public function onMessage($connection, $data)
        {
        $connection->send('我收到你的信息了');
        }
      
        /**
        * 當(dāng)連接建立時(shí)觸發(fā)的回調(diào)函數(shù)
        * @param $connection
        */
        public function onConnect($connection)
        {
      
        }
      
        /**
        * 當(dāng)連接斷開時(shí)觸發(fā)的回調(diào)函數(shù)
        * @param $connection
        */
        public function onClose($connection)
        {
      
        }
        /**
        * 當(dāng)客戶端的連接上發(fā)生錯(cuò)誤時(shí)觸發(fā)
        * @param $connection
        * @param $code
        * @param $msg
        */
        public function onError($connection, $code, $msg)
        {
          echo "error $code $msg\n";
        }
      
        /**
        * 每個(gè)進(jìn)程啟動(dòng)
        * @param $worker
        */
        public function onWorkerStart($worker)
        {
      
        }
      }
      
      
      

        

      5-運(yùn)行server.php
      命令:php server.php
      
      
      

        

      6- 新建html文件
      <!DOCTYPE html>
      <html lang="en">
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <title>Title</title>
      </head>
      <body>
      <script>
        ws = new WebSocket("ws://127.0.0.1:2346");
        ws.onopen = function() {
          alert("連接成功");
        ws.send('tom');
          alert("給服務(wù)端發(fā)送一個(gè)字符串:tom");
        };
        ws.onmessage = function(e) {
          alert("收到服務(wù)端的消息:" + e.data);
        };
      </script>
      </body>
      </html>
      
      
      

        

       原文:https://blog.csdn.net/qq_37322178/article/details/83715141 

      posted @ 2019-02-25 10:29  Champion-水龍果  閱讀(787)  評(píng)論(0)    收藏  舉報(bào)
      Champion-水龍果
      主站蜘蛛池模板: 国内精品久久黄色三级乱| 亚洲色大成成人网站久久| 国产精品久久久久aaaa| 国产精品久久蜜臀av| 亚洲精品揄拍自拍首页一| 国产又色又刺激高潮视频| 东山县| 国产精品中文一区二区| 中文字幕有码无码AV| 最新精品国偷自产在线美女足| 亚洲欧洲一区二区精品| 亚洲中文久久久久久精品国产| 精品少妇无码一区二区三批| 久草热在线视频免费播放| 国产精品久久久久影院老司| 免费无码中文字幕A级毛片| 亚洲中文字幕国产综合| 亚在线观看免费视频入口| 日韩精品一区二区av在线| 亚洲综合色婷婷中文字幕| 日韩有码中文字幕国产| 亚洲av永久无码精品漫画| 免费人成在线观看网站| 干中文字幕| 国内自拍偷拍一区二区三区| 午夜精品久久久久久99热| 日韩精品亚洲不卡一区二区| 日本亲近相奷中文字幕| 99国精品午夜福利视频不卡99| 亚洲日本韩国欧美云霸高清 | 少妇上班人妻精品偷人| 国产在线无码精品无码| 国模粉嫩小泬视频在线观看| аⅴ天堂中文在线网| 国产麻豆9l精品三级站| 亚洲一线二线三线品牌精华液久久久| 免费国产一区二区不卡| 欧美中文字幕无线码视频 | 亚洲成人av在线高清| 久久精品国产6699国产精| 国产线播放免费人成视频播放|