Workerman3.x 版本学习之入门

发布时间:2019-09-05 07:06:33编辑:auto阅读(1626)

    用于学习Workerman的虚拟机配置信息如下(至于环境的安装,请参考官方手册自行解决):

       Distributor ID:Ubuntu

       Description:Ubuntu 14.04 LTS

       Release:14.04

       Codename:trusty

       Workerman:    3.1.9          

       PHP version:   5.5.9

      

    我们先用Workerman写第一个实例,实例目录如下:

    /var/happy

    ├── Apps    // 我们的实例代码放个目录

    ├── Workerman  // Workerman框架源代码


    首先,我们在Apps目录下新建一个 test.php

    use Workerman\Worker;
    
    /**
     * 这是官方的一个聊天实例
     */
    
    require_once '../Workerman/Autoloader.php';
    
    $global_uid = 0;
    $text_worker = null;
    
    // 有客户端连接上来
    function handler_connection($connection) {
            global $global_uid;
            $connection->uid = ++$global_uid;
    }
    
    // 客户端有数据发过来
    function handler_message($connection, $data) {        
            global $text_worker;
            foreach($text_worker->connections as $conn) {
                    $conn->send("User[{$connection->uid}] said: $data .\r\n");
            }        
    }
    
    // 有客户端关闭
    function handler_close($connection) {
            global $text_worker;
            foreach($text_worker->connections as $conn) {
                    $conn->send("User[{$connection->uid}] Logout.\r\n");
            }
    }
    
    $text_worker = new Worker("Text://0.0.0.0:2345");
    
    $text_worker->count = 1;
    $text_worker->name = 'textWorker';
    $text_worker->onConnect = 'handler_connection';
    $text_worker->onMessage = 'handler_message';
    $text_worker->onClose = 'handler_close';
    
    Worker::runAll();


    代码写好后,我们在服务器上运行:


    wKiom1YBBufju2lZAAGHblhjOpQ470.jpg


    telnet上去进行测试


    wKioL1YBCZayg4s8AACsb_Eob4c803.jpg


    当然也可以是多客户端上去测试下,这个大家自行去测试。


关键字