应该使用哪个线程模型来创建馈送处理程序或适配器
Which threading model should be used to create a Feed Handler Or Adaptor
大家好:)
这是我在这里的第一个问题。
问题描述:
我必须编写一个市场数据馈送处理程序。这将是一个Windows服务,将使用两个套接字。
套接字A:用于订阅应用程序和馈送处理程序之间的通信(馈送处理程序将接受连接请求和项目请求)。
插座B:用于Feed处理器和外部市场数据提供商之间的通信,如路透社/彭博社。
在这两种情况下,请求/响应将使用相同的端口。
注意:来自外部系统的数据量很低(此时外部系统将只发送已订阅的信息)。然而,稍后我们可能想要扩展它,一些提供者抛出所有数据,FeedHandler必须根据订阅在本地进行筛选。
我的问题:
- 我应该使用什么线程模型
- 我应该使用哪种I/O策略
- 记住这两种情况,我应该创建单独的请求/响应线程吗
第1版:在阅读了一些关于Winsock的教程之后,我计划将事件对象用于异步行为。
这里需要注意的是,单个线程应该侦听传入的客户端连接(接受它们),并连接到其他服务器,然后在两个不同的端口上发送/recv。
线程A1) 正在侦听传入连接。(连续)2) 正在接收来自已连接客户端的订阅/取消订阅请求。(很少)3) 连接到外部服务器(仅限Onetime)。4) 将来自客户端的请求转发到外部服务器。(很少)5) 从外部服务器接收数据。(连续)6) 将此数据发送回连接的客户端。(连续)
我的问题是,使用异步I/O模型,单个线程能否同时充当客户端和服务器?
提前谢谢。Deepak
最简单的线程模型似乎是单线程同步的。如果您需要为提供程序实现一个筛选器,请将其实现为一个套接字输入/套接字输出独立的进程。
相关文章:
- "动态创建的事件处理程序"复选框
- 处理无法按预期方式创建的对象,c++
- 处理C++线程的创建/重用
- 创建一个函数,如果元素在unordered_set中,则返回 true,如何处理模板
- 如何在 c++ linux 中创建事件处理程序
- 如何在winApi上正确创建按钮以及处理其消息
- 在 C++ 中创建自己的错误处理机制
- 指纹读取器 - 从 C# 代码创建事件处理程序到C++的问题
- 如何创建可变参数模板函数来移动参数值并处理左值和右值
- 如何管理和处理仅在堆上创建的类的对象
- (C )正在创建专门用于处理所有其他自定义对象的类/对象一种处理项目的正确方法
- 在 boost::d eadline_timer 上创建包装器,无法将参数传递给处理程序函数
- 共享指针矢量的自动创建和处理
- 用管道在C++中创建调度队列/线程处理程序:FIFO溢出
- 创建多个线程以处理多个请求是一个好练习吗?
- 是否可以对构造函数抛出异常的对象进行异常处理,该对象的异常处理接近其基于堆栈的代码创建
- 创建、处理和在窗口QTCreator之间切换
- 如何在Qt中创建处理程序
- 用c++创建处理RTL语言和复杂脚本的pdf
- 用Bind创建处理程序函数来处理单击的菜单项- wxWidgets 3.0