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 实现的统计监控系统