Home > PHP Framework > ThinkPHP > Introducing Workerman of Thinkphp5

Introducing Workerman of Thinkphp5

藏色散人
Release: 2021-06-23 10:11:06
forward
2708 people have browsed it

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
Copy after login
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
Copy after login

2. Use composer to download Workerman a) Download workerman

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

composer require workerman/workerman-for-win
Copy after login

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';
Copy after login
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)
    {
 
    }
}
Copy after login
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>
    
    
Copy after login
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!

Related labels:
source:segmentfault.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Issues
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template