QuickFIX C++库 - 关于ThreadedSocketInitiator的一般问题

Laz*_*abs 9 c++ quickfix

我是QuickFIX的新手,我有一些关于QuickFix的基本问题:

1)考虑到一次,接受者和发起者之间只有一个修复会话.我不太了解ThreadedSocketInitiator和ThreadedSocketAcceptor类的目的.

或者这些类是否存在以促进多个会话,其中多个"发起者"可以与不同的接受者交谈,反之亦然?

2)QuickFIX是否具有某种消息持久性,例如,如果消息在传输过程中丢失会发生什么?引擎是否负责重新发送消息?

Dum*_*der 5

1)Quickfix每个会话使用1个线程.您可以假设的引擎是整个过程.

当您要将引擎用作客户端时,将使用ThreadedSocketInitiator.您连接到另一台服务器并传输消息.您启动连接,因此称为启动器.您为使用服务器设置的每个会话生成一个新线程.

当您要将引擎用作服务器时,将使用ThreadedSocketAcceptor.你接受连接因此接受者.当您与客户端建立新会话时,仅为该特定会话生成新线程.

请记住,所有会话都有唯一的ID来区分多个会话.服务器可以与同一客户端具有多个会话,反之亦然.

2)是的.但是接收方必须发起ResendRequest消息以使发送方再次发送.如果尚未收到已发送消息的回复,它将通过检查配置文件中的延迟标志自动执行此操作.