• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • workerman框架使用

    workerman

    Workerman是一款开源高性能异步PHPsocket框架。支持高并发,超高稳定性,被广泛的用于手机app、移动通讯,微信小程序,手游服务端、网络游戏、PHP聊天室、硬件通讯、智能家居、车联网、物联网等领域的开发。支持TCP长连接,支持Websocket、HTTP等协议,支持自定义协议。拥有异步Mysql、异步Redis、异步Http、MQTT物联网客户端、异步消息队列等众多高性能组件。


    GatewayWorker

    GatewayWorker是基于 Workerman 实现的一个更完善的专门用于实现TCP长连接的项目框架。用于快速开发TCP长连接应用,例如app推送服务端、即时IM服务端、游戏服务端、物联网、智能家居等等。


    常用组件

    GatewayWorker基于Workerman开发,Workerman上的组件都可以在GatewayWorker中使用。

    框架与服务

    开办网站,需要购买服务器,到服务器经营商手上购买服务器(比如云服务器),或者使用自己的独立的物理服务器。上面安装使用这个操作系统,比如centOS、windows等等。这就是服务器。常见的centOS服务器。购买到服务器上,再安装各种服务。比如MySQL服务、nginx服务、php-fpm服务、ftp服务、git服务、redis服务等等。他们都有各自的端口,对外提供服务功能。也都被称呼对应功能的服务器。如nginx服务器、MySQL服务器、ftp服务器。

    • web服务,也称为www服务器、http服务器,其主要功能是提供网上信息浏览服务。Unix和Linux平台下常用的服务器有Apache、Nginx、Lighttpd、Tomcat、IBM WebSphere等,其中应用最广泛的是Apache。而Window NT/2000/2003平台下最常用的服务器是微软公司的IIS。默认端口:80(http)、443(https)。
    • WebSocket服务提供socket连接。阅读详细

    php编程国内使用比较火的MVC框架有,ThinkPHP、Lararvel等,他们不能直接提供长TCP连接,需要结合其他框架使用。最近比较火的,能提供TCP长连接的框架有:workerman、swoole。

    workerman框架与mvc框架关系示意图

    总结:上面这两类框架,根据需求场景,可以单独部署。也可以结合使用。


    单独部署使用 GatewayWorker 框架

    • 需求:创建一个即时聊天室。随时进入即可交流。单独使用GatewayWorker 框架,既可实现,所以也不需要其他框架。注意:2021年最新版本是GatewayWorker 3.X
    • 环境:服务器运行支持PHP语言。

    服务器端

    方法一:在centOS服务器,下载安装,手动安装

    cd /usr/www
    
    wget -c http://www.workerman.net/download/GatewayWorker.zip
    unzip GatewayWorker.zip
    cd GatewayWorker
    

    方式二:在centOS服务器,composer安装

    cd /usr/www
    
    composer require workerman/gateway-worker
    

    此时,形成的目录结构:

    GatewayWorker
    ├── Applications     // 这里是所有开发者应用项目
    │   └── YourApp      // 其中一个项目目录,目录名可以自定义
    │       ├── Events.php        // 开发者只需要关注这个文件
    │       ├── start_gateway.php         // gateway进程启动脚本,包括端口号等设置
    │       ├── start_businessworker.php  // businessWorker进程启动脚本
    │       └── start_register.php        // 注册服务启动脚本
    │
    ├── start.php    // 全局启动脚本,此脚本会依次加载Applications/项目/start_*.php启动脚本
    │
    └── vendor       // GatewayWorker框架和Workerman框架源码目录,此目录开发者不用关心