向在场的所有专家问好:)
这是我的第一个问题。
问题描述:
我必须写一个市场数据源处理程序。这将是一个Windows服务,将使用两个套接字。
套接字A:用于订阅应用程序和Feed Handler之间的通信(Feed Handler将接受连接请求和项请求)。
Socket B:用于Feed Handler与外部市场数据提供商(如路透社/彭博)之间的通信。
在这两种情况下,请求/响应将使用相同的端口。
注意:来自外部系统的数据量很小(外部系统只发送已订阅的信息,此时)。但是,稍后我们可能希望扩展它,一些提供者抛出所有数据,Feed必须根据订阅在本地过滤掉。
我的问题:
编辑1:在阅读了关于Winsock的几个教程之后,我计划将事件对象用于异步行为。
这里需要关注的一点是,单个线程应该侦听传入的客户端连接(接受它们),并连接到其他服务器,然后在两个不同的端口上发送/恢复。
线程A1)侦听传入连接。(连续) 2)从连接的客户端接收订阅/取消订阅请求。(很少)连接到外部服务器(仅一次)。4)将来自客户端的请求转发到外部服务器。(很少)从外部服务器接收数据。(连续) 6)将此数据发送回连接的客户端。(连续)
我的问题是,使用异步I/O模型,单个线程可以同时充当客户机和服务器吗?
提前谢谢。迪帕克
发布于 2013-02-11 08:39:03
最简单的线程模型似乎是单线程同步的。如果需要为提供程序实现过滤器,请将其实现为套接字输入/套接字输出单独的进程。
https://stackoverflow.com/questions/14806913
复制相似问题