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> <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>
到此就可以完成安裝并簡單的使用了,接下來需要了解具體功能的可以留言或者私我都OK,盡力幫你們搞定!