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