1.使用composer下載tp5
a) 使用中國鏡像(任何環境均可用)php
composer config -g repo.packagist composer https://packagist.phpcomposer.com
b) 而後再來下載tp5,這樣就不會有出現下載不了的問題,由於其餘的中國鏡像總有這那個小問題阻礙html
composer create-project topthink/think=5.0.* tp5 --prefer-dist
2.使用composer下載Workerman
a) 下載workermanweb
composer require topthink/think-worker
b) 若是在window下須要在下載redis
composer require workerman/workerman-for-win
注意:記得在下載workerman的使用,已經使用了cmd切換到了項目目錄,好比我放在tp5,而後就切到tp5,在使用composer,這樣就能夠保證後面的操做不會有問題錯誤了。thinkphp
3.建立workerman的服務
a)跟application同目錄下建立 server.php, 內容以下:websocket
define('APP_PATH', __DIR__ . '/application/'); define('BIND_MODULE','push/Worker'); // 加載框架引導文件 require __DIR__ . '/thinkphp/start.php';
b)而後建立workerman的控制器:app
而後在Worker.php文件裏放入如下內容:composer
<?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文件:socket
<!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>
到此就能夠完成安裝並簡單的使用了,接下來須要瞭解具體功能的能夠留言或者私我都OK,盡力幫大家搞定!
關注回覆redis,獲取redis原理鎖的解析以及使用場景!
輕輕關注,將推「心」的不錯經驗和知識!