C++ 应该使用哪个线程模型来创建提要处理程序或适配器

C++ 应该使用哪个线程模型来创建提要处理程序或适配器,c++,asynchronous,winsock,feed,adaptor,C++,Asynchronous,Winsock,Feed,Adaptor,大家好:) 这是我的第一个问题 问题描述: 我必须编写一个市场数据提要处理程序。这将是一个Windows服务,将使用两个套接字 套接字A:用于订阅应用程序和提要处理程序之间的通信(提要处理程序将接受连接请求和项目请求) 插座B:用于Feed Handler和外部市场数据提供商(如路透社/彭博社)之间的通信 在这两种情况下,请求/响应将使用相同的端口 注意:来自外部系统的数据量较低(此时,外部系统将仅发送已订阅的信息)。 然而,稍后我们可能需要扩展它,一些提供者抛出所有数据,并且提要处理程序必须根

大家好:)

这是我的第一个问题

问题描述:

我必须编写一个市场数据提要处理程序。这将是一个Windows服务,将使用两个套接字

套接字A:用于订阅应用程序和提要处理程序之间的通信(提要处理程序将接受连接请求和项目请求)

插座B:用于Feed Handler和外部市场数据提供商(如路透社/彭博社)之间的通信

在这两种情况下,请求/响应将使用相同的端口

注意:来自外部系统的数据量较低(此时,外部系统将仅发送已订阅的信息)。 然而,稍后我们可能需要扩展它,一些提供者抛出所有数据,并且提要处理程序必须根据订阅在本地进行过滤

我的问题是:

  • 我应该使用什么线程模型
  • 我应该使用哪种I/O策略
  • 记住这两种情况,我是否应该创建单独的请求/响应线程
  • 编辑1:在阅读了一些关于Winsock的教程之后,我计划将事件对象用于异步行为

    这里需要关注的是,单个线程应该侦听传入的客户端连接(接受它们),并连接到其他服务器,然后在两个不同的端口上发送/接收

    穿过 1) 正在侦听传入的连接。(续) 2) 从连接的客户端接收订阅/取消订阅请求。(很少) 3) 连接到外部服务器(仅限一次)。 4) 将来自客户端的请求转发到外部服务器。(很少) 5) 从外部服务器接收数据。(续) 6) 将此数据发送回连接的客户端。(续)

    我的问题是,使用异步I/O模型,单个线程可以同时充当客户端和服务器吗

    提前谢谢。
    Deepak

    最简单的线程模型似乎是单线程同步的。如果需要为提供者实现过滤器,请将其作为套接字输入/套接字输出单独的过程来实现