SmallChi / JT808Gateway

JT/T808 Gateway,JT808 Gateway, GB808 Gateway(support 2011, 2013, 2019 version) JT/T808网关、JT808网关、GB808网关(支持2011、2013、2019版本)
MIT License
183 stars 117 forks source link

出现异常后无法继续接收并处理下个JT808包 #16

Closed inovout closed 3 years ago

inovout commented 3 years ago

若在接收JT808包中,有一个是非JT808包,会导致异常后,无法继续接收后面正常的JT808包。经查错误代码如下: JT808TcpServer.cs(207行) //if (beginMark != JT808Package.BeginFlag) throw new ArgumentException("Not JT808 Packages." + "[" + beginMark.ToString() + "]"); if (beginMark != JT808Package.BeginFlag) { totalConsumed = seqReader.Length; seqReader.Advance(seqReader.Length); }

另外,若MessageHandler处理出现异常也会出现无法继续接收下个JT808包的情况。目前 ,我是在MessageHandlertry-catch所有异常,不再向上抛。

SmallChi commented 3 years ago

1.接收到非808的包肯定就是断开了的,不符合协议只能掐断。 2.可以重写消息处理器,把异常自己捕获一下,这边确实少考虑一下。

SmallChi commented 3 years ago

1.1.0-preview6已解决