PHP异步高并发扩展Swoole
时间:2022-05-03
本文章向大家介绍PHP异步高并发扩展Swoole,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
php的优势不在说了。swole可能有些人还是是太熟悉,这也是php的一大革新。
下面来介绍一下。
GitHub地址:https://github.com/matyhtf/swoole
官网:http://www.swoole.com
pecl地址:http://pecl.php.net/package/swoole
swoole项目在春节前发布了1.6.10版本。
内核更新:
- Enabled by defaultasync_mysql (5.4版本默认开启async_mysql特性)
- UDP send no require from_id (udp 发送不包含 from_id)
- Add last_time and connect_time to tcp connection_info (连结信息添加属性:连接时间和最后消息到达时间)
- Add tcp heartbeat mechanism (内置tcp心跳检测模块)
- rebuild data_buffer (重构了data_buffer)
client模块:
- swoole_client on::Receive and on::Close no need to call recv/close (Receive和Close不需要相应的回调)
php方法变更:
- add heartbeart()方法 (swoole_server_heartbeart() or $serv->heartbeat())(手动进行心跳检测)
配置变更:
- add heartbeat_idle_time (心跳最大空闲时间)
- add heartbeat_check_interval (心跳定时检测时间)
Swoole介绍:
Swoole是一个PHP的C扩展,可用来开发PHP的高性能高并发TCP/UDP Server。Swoole的网络IO部分基于多线程的epoll/kqueue事件循环,是全异步非阻塞的。 业务逻辑部分既可以像node.js一样全异步回调执行,也可以多进程同步阻塞方式来运行。这样既保证了Server能够应对高并发和大量TCP连接。又保证业务代码仍然可以简单的编写。
server 示例代码:
Php代码
<?php //server.php$serv = new swoole_server("0.0.0.0", 9501);$serv->set(array('worker_num' => 2,));$serv->on('connect', function ($serv, $fd){echo "Client:Connect.n";});$serv->on('receive', function ($serv, $fd, $from_id, $data) {$serv->send($fd, 'Swoole: '.$data);$serv->close($fd);});$serv->on('close', function ($serv, $fd) {echo "Client: Close.n";});$serv->start();?>php server.php //运行telnet 127.0.0.1 9501 //连接serverhello (发送)Swoole: hello (接收)
自己多多测试一下吧。很有用的。
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- String - 67. Add Binary
- Math - 50. Pow(x, n)
- String - 44. Wildcard Matching
- DFS&BFS - 37. Sudoku Solver
- Array - 36. Valid Sudoku
- Array - 57. Insert Interval
- Binary Search - 378. Kth Smallest Element in a Sorted Matrix
- Array - 59. Spiral Matrix II
- Array - 54. Spiral Matrix
- String - 8. String to Integer (atoi)
- Array - 16. 3Sum Closest
- Array - 15. 3Sum
- Design - 146. LRU Cache
- LinkedList - 142. Linked List Cycle II
- LinkedList - 2. Add Two Numbers