数据包损坏故障处理
现象描述
当引擎服务端和引擎客户端间传输的报文出现包校验错误,丢包,包乱序时,引擎会上报数据包损坏(VMI_ENGINE_EVENT_PKG_BROKEN)事件,用户会从操作界面看到相关的提示信息(具体的提示信息取决于ISV的实现)。
对系统的影响
当此故障发生时,引擎客户端已不能继续工作,引擎客户端上报事件VMI_ENGINE_EVENT_PKG_BROKEN通知用户后,会断开与引擎服务端的网络连接,并处于退出状态。
当此故障发生时,引擎服务端会断开与引擎客户端的连接,并从online运行状态切换为offline运行状态;offline运行状态下云手机里的APP依然会继续运行,但此时无法接收到引擎客户端的触控输入,APP的音频/绘制指令也无法传输到引擎客户端。
可能原因
引擎服务端和引擎客户端之间的通信连接依赖ISV实现,数据包损坏的原因与具体的网络连接机制有关。
- 典型的TCP协议属于可靠传输协议,协议本身可以保证连接通信不会出现包校验错误,丢包,包乱序问题。
- 典型的UDP协议属于不可靠传输协议,协议本身仅实现尽力传输,但是会出现丢包,包乱序的问题。
- 传输路径中的器件故障可能导致消息包的个别bit跳变,导致包校验错误。
指令流引擎要求ISV提供可靠的通信连接。
操作步骤
- 在引擎客户端生成的日志中,搜索LOG_TAG为VMI_Communication,级别是error的日志,根据日志描述确认具体的错误原因。
- 引擎服务端和引擎客户端之间的通信连接依赖ISV实现,数据包损坏的原因与具体的网络连接机制有关。提供上一步骤获取到的错误信息给ISV进行进一步的故障定位。
- 手机接入端重新连接云手机,业务恢复。
父主题: 故障处理