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

时间:2011-08-17 18:12:11

标签: c++ quickfix

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

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

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

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

1 个答案:

答案 0 :(得分:5)

  

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

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

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

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

  

2)是的。但是接收方必须发起ResendRequest消息以使发送方再次发送。它会通过检查配置文件中的延迟标志自动完成,如果它没有收到已发送消息的回复。