我的 QuickFIX 客户端抱怨没有预期的主体长度。
检查后发现收到的消息实际上包含2条消息(2个不同的MsgTypes <35>)。另外,2 个 BeginStrings <8>
这是一个有效的消息吗?
该错误是由 QuickFIX 报告的,而不是我自己的代码。因此,尽管我找不到任何官方文档,但它对我来说似乎是一条无效消息,说这是不允许的。
我希望 QuickFIX 可以解析消息,只要第一条消息的正文长度是正确的。
你可以使用以下方法检查主体长度是否正确:
计算消息中 BodyLength (9) 字段之后到并包括 CheckSum (10) 字段之前的定界符的字符数。始终是消息中的第二个字段。(始终未加密)例如,对于消息 8=FIX 4.4^9=5^35=0^10=10^,对于 35=0^,BodyLength 为 5
来源:https : //btobits.com/fixopaedia/fixdic44/index.html?tag_9_BodyLength.html