记录下解决NettyClient发送报文延时的问题
缘起:
领导给顾客演示用app下发指令控制设备时,设备响应出现延时问题,还比较严重。
排查:
各种测试,时而快时而慢,当然大部分时间比较慢,我们都以为是设备或者网关的问题,最后用抓包工具抓包分析后才发现了真正的问题所在,NettyClient发送指令时就出现了延时问题。
解决:
NettyClient不仅仅是需要发送指令,还会随时接收设备的上报数据,因为netty发送和接收数据都是在同一个通道,所以我怀疑是因为接收数据时处理时间过长,占用了通道没有释放, 尝试将接收设备上报数据的代码改为异步,问题得到解决。