客户端向该API发送控制命令:
http(s)://host:port/api/plugins/rpc/{callType}/{deviceId}
where
callType is either oneway or twoway deviceId is your target device idThe request body should be a valid json object with two elements:
method - method name, json string params - method parameters, json object{“method”:"2100","params":"0008"}发送的命令是这种格式
设备订阅命令推送,用http或者mqtt
mqtt:
订阅主题v1/devices/me/rpc/request/+,服务器有命令发出,就会推送过来,再转发
http
订阅http(s)://host:port/api/v1/$ACCESS_TOKEN/rpc(postman连不上???)
如果server-side有request会返回rpc call,如果在一定时间内没有,则返回无命令的消息
如果收到了消息,返回信息给server,完成twoway的控制
Web通信 实时数据
轮询:客户端定时向服务器发送Ajax请求,服务器接到请求后马上返回响应信息并关闭连接。
优点:后端程序编写比较容易。
缺点:请求中有大半是无用,浪费带宽和服务器资源。
实例:适于小型应用。
长轮询:客户端向服务器发送Ajax请求,服务器接到请求后hold住连接,直到有新消息才返回响应信息并关闭连接,客户端处理完响应信息后再向服务器发送新的请求。
优点:在无消息的情况下不会频繁的请求,耗费资源小。
缺点:服务器hold连接会消耗资源,返回数据顺序无保证,难于管理维护。
实例:WebQQ、Hi网页版、Facebook IM。