当前位置:文档之家› Socket通信协议

Socket通信协议

一.登录

指令:SocketCommand.LoginCommand.Login

参数:用户名+“|”+密码

二.登录成功

指令:SocketCommand.LoginCommand.LoginOk

参数:服务器下当前账号所拥有的的摄像头数量+“|”+上次登录时间+“|”+上次登录IP

说明:登录成功会同时返回服务器上该账号下摄像头的数量,请与本地摄像头数量进行比对,然后再发起上传或者下载的指令

三.登录失败

指令:SocketCommand.LoginCommand.LoginError

参数:登录失败原因,一般为“用户名或者密码错误!”

说明:收到此指令,可直接用弹出窗口显示参数内容提醒用户,用户重新输入用户名密码后再重新发起登录指令

四.创建数据连接

指令:SocketCommand.NormalCommand.CreatDataSocket

参数:用户名+“|”+密码

说明:申请创建数据传输专用连接,主要是为了在高峰期或者数据量大的情况下同步摄像头数据而不会影响到主端口通讯

五.返回数据端口

指令:SocketCommand.NormalCommand. ReturnDataSocketPort

参数:数据传输端口

说明:服务端针对CreatDataSocket指令所返回的结果,当服务端目前没有可用端口的时候参数会返回空值,请注意判断,如果参数不为空,可针对此端口发起socket短

连接,此连接不需要保持心跳包,不需要验证身份

六.上传摄像头

指令:SocketCommand.CaramCommand.UploadCaramer

参数:摄像头ID+“|”+摄像头密码+“|”+当前数量+“|”+总数量

说明:登录成功后如果判断到本地的摄像头数量大于服务器上的摄像头数量,就可以立即发起创建数据连接指令,然后根据返回的端口成功创建数据连接之后,就可以

发起该指令了,一次只上传一个摄像头,第三个参数默认从1开始

七.上传摄像头成功

指令:SocketCommand.CaramCommand. UploadSucess

参数:摄像头ID+“|”+摄像头在线状态+“|”+已同步数量+“|”+总数量

说明:当已同步数量等于总数量的时候,就可以关闭连接了,关闭连接不需要通知服务端

八.上传摄像头失败

指令:SocketCommand.CaramCommand. UploadFail

参数:摄像头ID+“|”+失败原因+“|”+已同步数量+“|”+总数量

说明:失败原因有以下几个值:(1)ID和密码不匹配(2)该摄像头绑定账号已满九.下载摄像头

指令:SocketCommand.CaramCommand.DownLoadCaramer

参数:已下载的摄像头数量

说明:同上传摄像头的说明

十.下载摄像头成功

指令:SocketCommand.CaramCommand. DownloadSucess

参数:摄像头ID+“|”+摄像头密码+“|”+摄像头在线状态+“|”+当前数量+“|”+总数量

说明:服务端返回的数据,收到此指令后请继续发起DownLoadCaramer指令,并将当前数量原样回传给服务端,直到当前数量等于总数量的时候便可以自行关

闭数据传输连接,关闭连接同样不用事先通知服务端

十一.下载摄像头失败

指令:SocketCommand.CaramCommand. DownloadFail

参数:失败原因

说明:失败的原因通常是服务端下该账号并没有绑定任何摄像头

十二.获取摄像头在线状态

指令:SocketCommand.CaramCommand. CheckCaramerOnlineStatus

参数:摄像头ID

说明:客户端主动向服务端查询指定ID的摄像头的在线状态,查询多个摄像头的话ID请用“;”(英文分号)隔开,为保证数据的完整性,一次查询的摄像头数量请

保持在20个以内

十三.返回摄像头在线状态

指令:SocketCommand.CaramCommand. ReturnCaramerOnlineStatus

参数:摄像头ID+“;”+在线状态

说明:多个摄像头的话,还是用“|”分隔开,在线状态为true则表明在线,为false 则表明不在线,为null则表明服务端没有此摄像头的状态数据

十四.服务端推送摄像头状态信息

指令:SocketCommand.CaramCommand. PrushCaramerOnlineStatus

参数:摄像头ID+“:”+在线状态

说明:此指令由服务端主动发起。通常是由于摄像头的在线状态发生了变化,收到此指令后,请及时更新给用户,不需要回应服务端

十五.服务端推送摄像头报警信息

指令:SocketCommand.CaramCommand. PrushCaramerAlarmInfo

参数:摄像头ID+“:”+报警类型

说明:此指令由服务端主动发起,该指令非常紧急,请尽快处理,此指令不需要回复

相关主题