您好,登錄后才能下訂單哦!
本篇內容主要講解“Thinkphp5中Workerman的下載和使用方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Thinkphp5中Workerman的下載和使用方法”吧!
好了,開始今天的主題內容:tp5的workerman
1.使用composer下載tp5
a) 使用中國鏡像(任何環境都可用)
composer config -g repo.packagist composer https://packagist.phpcomposer.com
b) 然后再來下載tp5,這樣就不會有出現下載不了的問題,因為其他的中國鏡像總有這那個小問題阻礙
composer create-project topthink/think=5.0.* tp5 --prefer-dist
2.使用composer下載Workerman
a) 下載workerman
composer require topthink/think-worker
b) 如果在window下需要在下載
composer require workerman/workerman-for-win
注意:記得在下載workerman的使用,已經使用了cmd切換到了項目目錄,比如我放在tp5,然后就切到tp5,在使用composer,這樣就可以保證后面的操作不會有問題錯誤了。
3.創建workerman的服務
a)跟application同目錄下創建 server.php, 內容如下:
define('APP_PATH', __DIR__ . '/application/'); define('BIND_MODULE','push/Worker'); // 加載框架引導文件 require __DIR__ . '/thinkphp/start.php';
b)然后創建workerman的控制器
然后在Worker.php文件里放入以下內容:
<?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('我收到你的信息了'); } /** * 當連接建立時觸發的回調函數 * @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\n"; } /** * 每個進程啟動 * @param $worker */ public function onWorkerStart($worker) { } }
c)然后在cmd下運行 php server.php ,這個也是workerman的服務
d)然后在創建一個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("給服務端發送一個字符串:tom"); }; ws.onmessage = function(e) { alert("收到服務端的消息:" + e.data); }; </script> </body> </html>
到此,相信大家對“Thinkphp5中Workerman的下載和使用方法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。