-
序列号:每个Session发送方和接收方都有一个序列号(SeqNum),它代表了消息的顺序。每个发送方和接收方在发送和接收消息时都必须递增序列号。接收方只接受序列号比上次接收到的消息的序列号大1的消息,如果接收到的消息序列号比上次接收到的消息序列号小,则会丢弃该消息。
-
消息确认:FIX协议中使用消息确认机制来保证消息传递的可靠性。接收方收到消息后必须向发送方发送一条消息确认消息。消息确认消息包含了已经接收到的最后一条消息的序列号。发送方接收到消息确认消息后,会将所有小于或等于接收到的最后一条消息序列号的消息标记为已接收,并从消息队列中删除这些消息。
-
重复消息:如果发送方没有收到接收方的消息确认消息,它会认为该消息未被接收到,会重发该消息。接收方在接收到重复的消息时,会发送一条消息确认消息,并在消息中指定最后一条已经接收到的消息的序列号,从而让发送方知道接收方已经接收到了这条消息。
-
消息重发:如果发送方在规定的时间内没有收到接收方的消息确认消息,则会重发该消息。接收方在接收到重复的消息时,会发送一条消息确认消息,并在消息中指定最后一条已经接收到的消息的序列号,从而让发送方知道接收方已经接收到了这条消息。接收方不会对重复的消息做出任何操作,因为它已经接收到该消息并发送了确认消息。如果接收方没有接收到该消息,则会将其视为新的消息,并进行处理。