CURL发送POST请求服务器端超时 CURL在发送较大的POST请求时会先发一个100-continue的请求,如果收到服务器的回应才会发送实际的POST数据。而swoole_http_server不支持100-continue,就会导致CURL请求超时。 解决办法是关闭CURL的100-continue // 创建一个新cURL资源 $ch = curl_init(); //
easySwoole支持标准的PSR-4自动加载。 添加名称空间 $loader = AutoLoader::getInstance(); $loader->addNamespace('new name space',"dir path"); 如果不懂如何使用,可以参考Core.php中的registerAutoLoader方法,里面的FastRoute、SuperClosure、PhpParse
参考DEMO:异步任务处理 异步任务管理器类:EasySwoole\Core\Swoole\Task\TaskManager 在服务启动后的任意一个地方,都可以进行异步任务的投递,为了简化异步任务的投递,框架封装了任务管理器,用于投递同步/异步任务,投递任务有两种方式,一是直接投递闭包,二是投递任务模板类 直接投递闭包 任务比较简单的情况下可以直接投递闭包,任意地方包括控制器/定时器/服务启动后的
TableManager
生命周期 Response对象在系统中以单例模式存在,自收到客户端HTTP请求时自动创建,直至请求结束自动销毁。Response对象完全符合PSR7中的所有规范。 其他细节方法,有兴趣的同学可以在IDE中查看对应的代码。 方法列表 write 该方法用于向客户响应数据。 $response->write('hello world'); redirect 该方法用于将请求重定向至指定的URL $re
生命周期 Request对象在系统中以单例模式存在,自收到客户端HTTP请求时自动创建,直至请求结束自动销毁。Request对象完全符合PSR7中的所有规范。 方法列表 getRequestParam() 用于获取用户通过POST或者GET提交的参数(注意:若POST与GET存在同键名参数,则以POST为准)。 示例: // 在控制器中 可以通过 $this->request() 获取到Reque
自动加载 可以在composer.json内进行配置。如: { "autoload": { "psr-4": { "App\\" : "App/", "EasySwoole\\" : "Conf/", "YourTest\\":"tests/" }, "files":["
执行完框架安装后,可以在你的项目根目录下,看多一个easyswoole的文件。 执行以下命令: php easyswoole 可见: ______ _____ _ | ____| / ____|
easySwoole 的目录结构是非常灵活的,基本上可以任意定制,没有太多的约束,但是仍然建议遵循下面的目录结构,方便开发 project 项目部署目录 ├─App 应用目录(可以有多个) │ ├─HttpController 控制器目录 │ │ └─Index.php 默认控制器 │
框架使用 Composer 作为依赖管理工具,在开始安装框架前,请确保已经按上一章节的要求配置好环境并安装好了Composer 工具,在安装过程中,会释放框架的文件到项目目录,请保证项目目录有可写入权限 关于 Composer 的安装可以参照 Composer中国全量镜像 的安装教程 快速安装 # 创建项目 composer create-project easyswoole/app easysw
满足基本的环境要求才能运行框架,easySwoole 框架对环境的要求十分简单,只需要满足运行 Swoole 拓展的条件,并且 PHP 版本在 7.1 以上即可 基础运行环境 保证 PHP 版本大于等于 7.1 保证 Swoole 拓展版本大于等于 1.9.23或者是2.1.0 需要 pcntl 拓展的任意版本 使用 Linux / FreeBSD / MacOS 这三类操作系统 使用 Compo
技术名称 支持者 支持方式 网络虚拟化方式 数据新增报文长度 链路HASH能力 VXLAN Cisco/VMWARE/Citrix/Red Hat/Broadcom L2 over UDP VXLAN报头 24 bit VNI 50Byte(+原数据) 现有网络可进行L2 ~ L4 HASH NVGRE HP/Microsoft/Broadcom/Dell/Intel L2 over GRE NV
LAN 表示 Local Area Network,本地局域网,通常使用 Hub 和 Switch 来连接 LAN 中的计算机。 一个 LAN 表示一个广播域,它的意思是 LAN 中的所有成员都会收到 LAN 中一个成员发出的广播包。 因此,LAN 的边界在路由器或者类似的三层设备。 VLAN 表示 Virtual LAN。一个带有 VLAN 功能的 Switch 能够同时处于多个 LAN 中。简
TCP的特性 TCP提供面向连接的、可靠的字节流服务 上层应用数据被TCP分割为TCP认为合适的报文段 TCP使用超时重传机制,而接收到一个TCP数据后需要发送一个确认 TCP使用包含了首部和数据的校验和来检查数据是否在传输过程中发生了差错 TCP可以将失序的报文重新排序 TCP连接的每一端都有固定大小的缓冲区,只允许另一端发送发送接收缓冲区所能接纳的数据 TCP提供面向字节流的服务,不在字节流中
UDP是一种对象数据报的传输层协议,它不提供可靠性,其数据报被封装在IP数据报中,封装格式如下图所示: 首部格式为 源端口号和目的端口号分表表示了发送进程和接收进程 UDP长度字段包括了UDP首部和UDP数据的字节长度 UDP检验和覆盖了UDP首部和UDP数据(IP首部检验和只覆盖了IP首部,不覆盖数据报中的任何数据) UDP数据报的长度可以为奇数字节,但是检验和算法是把若干个16bit字相加。解