我正在 c# 中实现 QuickFix 服务启动器,需要执行以下操作。
- 收听传入的 QuoteRequest 消息并将它们保存到本地数据库/队列。
- 我们的用户将能够对这些报价请求进行投标。这些选择将保存在本地队列中。服务将需要读取队列并将 Quote 消息发送回发送者。
- 收听来自发件人的 QuoteResponse / BusinessReject 和 QuoteStatus 消息并存储在我们端。
我计划在我的服务中有两个线程。
线程 1:这将用于监听传入的 QuoteRequest、Quote response、Businessreject 和 quotestatus 消息。在破解 QuoteResponse 消息时,将会从 OnMessage 事件处理程序发送传出的 ExecutionReport。这些消息将存储在我们的系统中并发布在我们的站点/队列等上。
线程 2:这将侦听另一个本地队列并将 Quote(bids) 消息发送到接受者。报价将使用 Session.SendToTarget 发送出去。
有没有办法配置两个启动器实例在每个线程中使用?或者我是否创建一个启动器并添加两个会话。如果两个发起者都使用相同的套接字服务器和端口,它会起作用吗?此外,如果一条消息没有被一个线程破解,那么它是否可以用于另一个线程?我找不到任何多线程方法来处理传入和传出消息的示例。
感谢有关正确实施方法的任何输入/建议。