包体格式
优质
小牛编辑
132浏览
2023-12-01
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
:服务器端错误