QuickFix 中的 "bodyLength" 和 "checkSum" 是什么?

What are "bodyLength" and "checkSum" in QuickFix?

谁能告诉我QuickFix中的"bodyLength"和"checkSum"是什么?

我在this上搜索过,没有定义。

消息(标记 = 9 和 10)中的那些内容的用途是什么?

来自FIX协议官网的https://fiximate.fixtrading.org/

9 |BodyLength | Length | Message length, in bytes, forward to the CheckSum field. ALWAYS SECOND FIELD IN MESSAGE. (Always unencrypted) | Added FIX.2.7

10 | CheckSum | String | Three byte, simple checksum (see Volume 2: "Checksum Calculation" for description). ALWAYS LAST FIELD IN MESSAGE; i.e. serves, with the trailing , as the end-of-message delimiter. Always defined as three characters. (Always unencrypted) | Added FIX.2.7

首先,你的问题是关于FIX,它是一个协议,而不是QuickFIX,它只是一个可以用于FIX程序的引擎。

其次,如果您打算使用 FIX(考虑到您最近提出的许多 SO 问题,您显然是),那么您确实需要熟悉 FIX 规范.

您可以在 http://fixtradingcommunity.org 免费创建一个帐户,然后转到此页面下载 PDF 格式的规格:

http://www.fixtradingcommunity.org/pg/structure/tech-specs/fix-protocol

规范会告诉您 bodyLengthcheckSum 是什么以及它们是如何计算的。幸运的是,QuickFIX 会为您完成这些计算。

这些字段的用途:

  • bodylength:告诉接收解析器消息应该有多少字节。如果解析器发现它的字节数少于此,则发送方或接收方都存在问题。
  • 校验和:再次帮助接收器检测问题。如果接收方计算出的校验和与字段 10 不匹配,则表明有人遇到了错误。