Home >PHP Framework >ThinkPHP >Introducing Workerman of Thinkphp5

Introducing Workerman of Thinkphp5

藏色散人
藏色散人forward
2021-06-23 10:10:022643browse

Okay, let's start today's Topic content: tp5 worker

##1. Use composer to download tp5 a) Use Chinese mirror (available in any environment)

composer config -g repo.packagist composer https://packagist.phpcomposer.com
b) Then download tp5, so that there will be no problem of being unable to download, because other Chinese mirrors always have this or that small problem that hinders

composer create-project topthink/think=5.0.* tp5  --prefer-dist

2. Use composer to download Workerman a) Download workerman

composer require topthink/think-worker
b) If you need to download it under window

composer require workerman/workerman-for-win

Note: Remember to use cmd to switch to the project directory when downloading workererman. , for example, I put it in tp5, and then switch to tp5 and use composer, so that I can ensure that there will be no problems and errors in subsequent operations.

3. Create the workerman service a) Create server.php in the same directory as the application, with the following content:

define('APP_PATH', __DIR__ . '/application/');

define('BIND_MODULE','push/Worker');

// 加载框架引导文件

require __DIR__ . '/thinkphp/start.php';
b) Then create the workerman control Server:

Introducing Workerman of Thinkphp5

Then put the following content in the Worker.php file:

<?php  namespace app\push\controller; 
use think\worker\Server; 
class Worker extends Server{    
    protected $socket = &#39;websocket://127.0.0.1:2346&#39;; 
    /**
     * 收到信息
     * @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) Then run php server.php under cmd, this is also workerman's service

d) Then create an HTML file:

nbsp;html>


    <meta>
    <title>Title</title>
    
    
    <script>
    ws = new WebSocket("ws://127.0.0.1:2346");
    ws.onopen = function() {
        alert("连接成功");
        ws.send(&#39;tom&#39;);
        alert("给服务端发送一个字符串:tom");
    };
    ws.onmessage = function(e) {
        alert("收到服务端的消息:" + e.data);
    };
    </script>
    
    
Now you can complete the installation and use it simply. If you need to know the specific functions, you can leave a message or send me a private message. OK, I’ll try my best to help you get it done!

The above is the detailed content of Introducing Workerman of Thinkphp5. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:segmentfault.com. If there is any infringement, please contact admin@php.cn delete