• Workerman最简示例


    Workerman 是一款纯 PHP 开发的开源高性能的 PHP socket 服务框架。

    官方文档:http://doc.workerman.net/

    Workerman 为 MySQL 代理

    示例:http://doc.workerman.net/async-tcp-connection/connect.html

    <?php
    
    use WorkermanWorker;
    use WorkermanConnectionAsyncTcpConnection;
    require_once './Workerman/Autoloader.php';
    
    // 创建一个Worker监听2345端口,使用http协议通讯
    $tcp_worker = new Worker("tcp://0.0.0.0:2345");
    
    // 启动4个进程对外提供服务
    $tcp_worker->count = 4;
    
    $tcp_worker->onConnect = function ($connection) {
        echo 'new connection '.$connection->getRemoteIp().PHP_EOL;
    
        // 异步建立一个到实际mysql服务器的连接
        $connection_to_mysql = new AsyncTcpConnection('tcp://172.17.0.3:3306');
    
        // mysql连接发来数据时,转发给对应客户端的连接
        $connection_to_mysql->onMessage = function ($connection_to_mysql, $data) use ($connection) {
            $connection->send($data);
        };
        // mysql连接关闭时,关闭对应的代理到客户端的连接
        $connection_to_mysql->onClose = function($connection_to_mysql) use ($connection) {
            $connection->close();
        };
    
        // 执行异步连接
        $connection_to_mysql->connect();
    
        // 客户端发来数据时,转发给对应的mysql连接
        $connection->onMessage = function($connection, $data) use ($connection_to_mysql) {
              $connection_to_mysql->send($data);
        };
        // 客户端连接断开时,断开对应的mysql连接
        $connection->onClose = function($connection) use ($connection_to_mysql) {
            $connection_to_mysql->close();
        };
    };
    
    // 接收到浏览器发送的数据时回复hello world给浏览器
    $tcp_worker->onMessage = function($connection, $data)
    {
        // 向浏览器发送hello world
        // $connection->send('hello world');
        // $connection->close();
        echo $data;
    };
    
    // 运行worker
    Worker::runAll();

    使用 Navicat 连接测试:

  • 相关阅读:
    LeetCode 914. 卡牌分组
    LeetCode 999. 车的可用捕获量
    LeetCode 892. 三维形体的表面积
    21航电5E
    min25筛 学习笔记
    牛客多校6G
    2021航电多校3
    2021牛客多校H
    [模版] 快速傅里叶变换
    2021牛客多校第五场
  • 原文地址:https://www.cnblogs.com/tangxuliang/p/9895888.html
Copyright © 2020-2023  润新知