嗨,所有的专家都在那里:)应该使用哪种线程模型来创建饲料处理程序或适配器
这是我的第一个问题。
问题描述:
我必须写一个市场数据馈送处理程序。这将是一个Windows服务,将使用两个套接字。
套接字A:用于订阅应用程序和馈送处理程序(馈送处理程序将接受连接请求和项目请求)之间的通信。
套接字B:饲料处理程序和外部市场数据提供商之间的通信,如路透社/彭博。
在这两种情况下,请求/响应都将使用相同的端口。
注:从外部系统的数据来的体积为低(外部系统将只发送已认购的信息,在这一点的时间)。 但是后来我们可能想要扩展它,一些提供程序会抛出所有数据,并且Feed Handler必须根据订阅在本地过滤掉。
我的问题:
- 我应该使用什么的线程模型?
- 我应该使用哪种I/O策略?
- 请记住这两种情况,我应该创建单独的请求/响应线程吗?
编辑1:在阅读Winsock上的一些教程后,我打算使用事件对象进行异步行为。
关注的点这里要说的是,一个单一线程监听传入客户端连接(接受它们),也连接到另一台服务器,依次发送/ recv的两个不同的端口。
线程A 1)收听传入连接。 (连续) 2)接收来自连接客户端的订阅/取消订阅请求。 (很少) 3)连接到外部服务器(仅限一次)。 4)将来自客户端的请求转发到外部服务器。 (很少) 5)从外部服务器接收数据。 (连续) 6)将此数据发回给连接的客户端。 (连续)
我的问题是可以在单个线程同时作为客户端和服务器,使用异步I/O模型?
在此先感谢。 迪帕克