- 安装 Swoole 框架和扩展
- 数据库 Model 类
- 数据库 ORM 接口
- Socket 网络开发
- 控制器 Controller
- 命名空间
- 文件上传组件
- Redis
- Database
- 验证码组件
- 配置管理
- CURL 客户端
- RPC 通信
- 应用服务器模式
- 普通 LAMP 模式
- model->get
- model->set
- model->del
- model->put
- model->puts
- model->gets
- model->sets
- model->dels
- model->all
- model->count
- model($model_name)
- table($table_name)
- 观察者(Observer)
- TCP 服务器
- Web 服务器
- WebSocket
- Swoole\Database->insert
- Swoole\Database->delete
- 事务处理
- 缓存 Cache
- 全局函数
- 路由器
- 目录规范
- 自定义路由
- URL 映射规则
- 包体格式
- http_server.php
- app_server.php
- soa_server.php
- websocket_server.php
- comet_server.php
- 配置文件
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
包体格式
Request
{"call": "Service接口名称", "params": “接口参数列表”, "env": "相关环境信息"}
call
: 是指Service
接口的名称,如User\Info::get
params
:函数的参数列表,vector
类型,params
在底层会自动作为User\Info::get
函数的参数传入调用,在PHP
代码中相当于call_user_func_array($call, $params)
env
:相关环境信息,map
类型,客户端与服务器端可自由使用
Response
{"errno": "整数,服务器端返回码", "data": “接口返回值"}
errno
:错误码,正常调用为0
data
:无固定格式,由Service
接口 返回值 决定
错误码列表
- 8001; //未就绪
- 8002; //连接服务器失败
- 8003; //服务器端超时
- 8004; //发送失败
- 8005; //server返回了错误码
- 8006; //解包失败了
- 8007; //错误的协议头
- 8008; //超过最大允许的长度
- 8009; //连接被关闭
- 9001; //错误的包头
- 9002; //请求包体长度超过允许的范围
- 9003; //服务器繁忙,超过处理能力
- 9204; //解包失败
- 9205; //参数错误
- 9206; //函数不存在
- 9207; //执行错误
- 9208 //不允许该服务器登录
- 9209 //认证不通过
- 9300 //被服务器踢掉了
Server
端的实现中实现了打包格式的自适应,当发现调用端使用JSON
格式时,Response
包体也会打包为JSON。另外Swoole
框架的RPC
支持了gzip
压缩,启用压缩后可以节约内网通信的流量。
8xxx
:客户端错误9xxx
:服务器端错误
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论