mm_os
Version:
这是超级美眉服务端框架,用于快速构建应用程序。
47 lines (41 loc) • 1.81 kB
Markdown
Websocket 是用于与浏览器客户端实现双向通讯的协议,可用来实现即时通讯、交易所、消息推送等。
前端和服务端均已集成webstock功能,前端使用mm_sdk,后端使用com/websocket框架机制
为了让前后端通讯更加稳定、可控,前后端均采用json-rpc2.0的方式进行通讯,采用以下传参规范 ↓
在客户端给服务端发送消息时,或在服务端给客户端发送消息时(响应格式):
`
{
// 消息ID (用于识别对应请求)
id: "",
// 调用方法 (例如聊天时为chat、请求获取联系人时为get_contact)
method: "",
// 请求参数
params: {}
}
`
如果需要在某一端接收到消息后,告诉对方已收到消息或返回内容,可以给对方端推送一条消息(响应格式):
`
{
// 消息ID (用于响应对应请求)
id: "",
// 错误提示 (错误时必须返回)
error: {
// 错误码
code: -32602,
// 错误提示
message: ""
},
// 响应结果 (成功时必须返回)
result: {}
}
`
1. 首先websocket给客户端和服务端提供了一个接收消息的接口,可以收到来自对方的消息
2. 然后双方可以通过收到的json数据中是否含有method属性来判断对方端是请求查询,还是提交数据
3. 如果是提交数据,则接收数据处理并存储
4. 如果是请求查询,则给请求做处理,并回推送一条消息
5. 为了能够识别消息是否成功推送,通过响应格式中的ID属性来判断
6. 如果非请求或响应, 只是单向推送数据, 那么可以通过id属性值0或空进行识别