110,538
社区成员
发帖
与我相关
我的任务
分享
{
Id : 2834,
Mode: 0,
Type: "查询当日的新闻",
News: {
Channel: "餐饮",
Date: "2018/2/9"
}
}
这里假设 Mode 为 0 代表对方发给我的请求,为 1 表示对方返回给我的结果,那么当我收到为 0 的消息,解析这个消息,返回一个 Id 为 2834 而 Mode 为 1 的消息给都对方。而假设我收到的这个消息的 Mode 为 1,那么我就要按照 2834 这个编号找到我之前注册的回调委托,用这个委托来处理这个消息。
因此,推送请求消息或者处理返回信息,都是普通的发送接收消息操作的升华。主要是你要自己写上几十行代码来实现这关键的引擎逻辑。比如说一个客户端分别按照编号 1、2、3、4、5 的顺序给客户端发送了消息,服务器随后可能以 1、4、3、5、2 的顺序返回结果信息(绝大多数任务处理只要几十毫秒,但是有的任务处理可能要几分钟),中间还时不时地主动推送 Mode 为 2 的 Push 提醒,那么你起码要有这样的功能,才算是一个完整而基本的通讯网关。