statistics:使用 PHP + Swoole 实现的统计监控系统

Posted Wss0130

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了statistics:使用 PHP + Swoole 实现的统计监控系统相关的知识,希望对你有一定的参考价值。

源码分析

类&方法

new swoole_client()

  • 创建TCP或UDP类的客户端:new swoole_client(SWOOLE_SOCK_TCP | SWOOLE_SOCK_UDP, SWOOLE_SOCK_SYNC)
  • send():发送数据
  • recv():接收数据
  • close():关闭连接
  • 源码解析:https://blog.csdn.net/lcli2009/article/details/82845729

new swoole_server()

  • 创建TCP服务:new swoole_server($ip, $port)
  • 创建UDP服务:new swoole_server($ip, $port, SWOOLE_PROCESS, SWOOLE_SOCK_UDP)

new swoole_http_server()

  • 创建web服务器:new swoole_http_server($ip, $port)

swoole_set_process_name()

  • 修改进程名:https://wiki.swoole.com/wiki/page/125.html#entry_h3_0
  • MacOsX 不支持修改进程名
  • 如何修改:在swoole_server_create之前修改为manager进程名称;onStart调用时修改为主进程名称
    onWorkerStart修改为worker进程名称

tick()

  • 添加定时器,在Server->start()之后执行
  • worker进程结束运行之后,所有定时器会自动销毁
  • 在onWorkerStart中使用,根据worker进程数量执行
  • 在onManagerStart中使用,只执行一次
  • Server->tick(1000, function($id)); $id 是定时器的id,从1开始,一直累加.
  • https://wiki.swoole.com/#/timer

swoole_version

  • swoole版本号

swoole_errno

  • 获取最近一次的错误码

swoole_strerror

  • 根据错误码获取错误信息:swoole_strerror(swoole_errno())

常量

SWOOLE_TCP

  • 指定的TCP客户端或服务器

SWOOLE_SOCK_SYNC

  • 创建客户端时(默认)指定为:同步阻塞
  • 异步阻塞:SWOOLE_SOCK_ASYNC
  • 同步与异步、阻塞与非阻塞:https://blog.csdn.net/qq_38128179/article/details/86132731

SWOOLE_PROCESS

  • 使用进程模式,业务代码在 Worker 进程中执行
  • SWOOLE_BASE:使用 Base 模式,业务代码在 Reactor 进程中直接执行

SWOOLE_SOCK_TCP

  • 指定的TCP客户端或服务器

SWOOLE_SOCK_UDP

  • 指定的UDP客户端或服务器

SWOOLE_KEEP

  • 创建TCP长连接:new swoole_client(SWOOLE_SOCK_TCP | SWOOLE_SOCK_KEEP);
  • 不能单独使用,必须配合SWOOLE_SOCK_TCP、SWOOLE_SOCK_UDP等使用;
  • 优点:TCP长连接可以减少3次握手/4次挥手带来的额外IO消耗;降低服务端close/connect次数

以上是关于statistics:使用 PHP + Swoole 实现的统计监控系统的主要内容,如果未能解决你的问题,请参考以下文章

在WSL中安装swool报错 error: unrecognized command line option '-V' 的解决方法

statistics:使用 PHP + Swoole 实现的统计监控系统

statistics:使用 PHP + Swoole 实现的统计监控系统

statistics:使用 PHP + Swoole 实现的统计监控系统

statistics:使用 PHP + Swoole 实现的统计监控系统

swoole扩展安装