TP5之Workerman

好了,開始今天的主題內容:tp5的workerman

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

    clipboard.png

    而後在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原理鎖的解析以及使用場景!
輕輕關注,將推「心」的不錯經驗和知識!

clipboard.png

相關文章
相關標籤/搜索