SmallChi/JT808Gateway

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

Closed this issue · 2 comments

若在接收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所有异常,不再向上抛。

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

1.1.0-preview6已解决