【发布时间】:2012-10-26 19:39:21
【问题描述】:
我希望 Linux(服务器)主机上的一个应用程序与 VM 中 Win7(客户端)上的应用程序通信。选择的库是 ZeroMQ。但是如何管理异步任务呢?
我举个例子: VM 中的应用程序以任意间隔生成任务并将它们发送到 Linux 机器。这将处理它们,但需要一些时间来回答。此时 REQ/REP 模式的套接字被阻塞,来自 WinApp 的传入任务无法转发到 LinuxApp。我应该如何解决这个问题?这一般是如何解决的,即使没有 0MQ。我是否必须同时连接服务器和客户端并建立两个连接?
要求:
- 客户端是一个独特的任务生成器。
- 服务器为每个连接的客户端创建一个工作线程。
- 服务器在客户端和工作线程之间建立唯一的连接。(一些隧道)
- ->(每个客户端-工作线程对之间的请求/请求通过一个套接字)
- 服务器必须立即转发传入的任务。
- 服务器必须能够处理多个客户端(因此连接到 WT)。
因此不可能实现 REQ/REP/REQ/REP/... 序列。
【问题讨论】:
标签: c++ networking network-programming client-server zeromq