数据推送相关(SignalR)
功能描述
所有监控点的实时数据由服务器主动推送,客户端可以控制开启某个或者某几个监控组,开启之后当被开启分组中数据发生变化(有死区设置的变化需要超过死区范围)的时候服务器主动推送给客户端。推送功能需要依赖signalR库。
.NET官网文档:
https://www.asp.net/signalr
.NET 类库请使用Visual Studio中Nuget工具下载Microsoft.AspNet.WebApi.Client.
JAVA 示例及 C# 的示例,请去在线问答下载!!!
注意事项:从官网下载的 or 小易在线问答上下载的 Signalr DEMO ,DEMO里面的 状态变更新事件里面调用开点接口是有限制的,一旦调用接口频繁,会有账号被封的情况,注意开点接口的频率,我们是建议做排队机制,根据盒子数量来 1s /10~20次左右。一定要控制好频率不要重复开点或者超过建议的开点频率。
创建signalR连接
请求地址
URL:
从FBox列表中获取的signalRUrl
详情见名词解释querystring:
at={token}&cid={X-FBox-ClientId}
字段名 类型 参数描述 token string accessToken,登录接口里获取的accessToken X-FBox-ClientId string 详情见附录一
SignalR服务的Hub名:clientHub
其他注意:
1、token有效期是大约两个小时。401为token过期。新版参数需要重新调用登录接口获取access_token。
使用登录接方式二要根据refresh_token调重新登录接口刷新access_token后重连SignalR。refresh_token有效期为30天。
2、java demo和C# SDK已处理token刷新与Signalr重连问题。不使用demo需要在程序自行处理此流程。
3、Signalr要保持长连接,用单例开发 。