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