ZeroMQ模式查询 我想用CeloMQ().c++实现C++中的服务器/客户端交互。p>

ZeroMQ模式查询 我想用CeloMQ().c++实现C++中的服务器/客户端交互。p>,c++,client,zeromq,C++,Client,Zeromq,我的要求是实现一个功能,如果客户机向服务器发送请求,服务器应将多个数据(按顺序)发送回客户机。客户机应该能够重复发送请求,而服务器会在每个请求上回复多个数据段 ZeroMQ规定了req-res、pub-sub、push-pull等模型,但这不支持我的要求,因为: 1) Req rep模式总是期望返回消息,即它被设计为发送和接收的组合 2) pub-sub和push-pull是单向的 哪种ZeroMQ模式适合我的要求,哪种协议更适合TCP、PGM、EPGM等 谢谢了解一下ZMQ经销商路由器体系结构

我的要求是实现一个功能,如果客户机向服务器发送请求,服务器应将多个数据(按顺序)发送回客户机。客户机应该能够重复发送请求,而服务器会在每个请求上回复多个数据段

ZeroMQ规定了req-res、pub-sub、push-pull等模型,但这不支持我的要求,因为:

1) Req rep模式总是期望返回消息,即它被设计为发送和接收的组合

2) pub-sub和push-pull是单向的

哪种ZeroMQ模式适合我的要求,哪种协议更适合TCP、PGM、EPGM等


谢谢

了解一下ZMQ经销商路由器体系结构:


您应该能够处理特定的客户端,而不必遵循严格的请求-应答类型消息流。

完全异步的方法如下所示

客户端 让您的客户使用经销商插座。连接到您的服务器路由器

发送请求时,发送
(k,v)
,其中
k
是唯一的(在此客户端上下文中)请求键,
v
是您正在执行的任何操作的实际请求数据

在同一个经销商插座上侦听传入消息。预期一系列消息如下所示:

  • (k,开始)
  • (k,(0,10),A[0..9])
  • (k,(10,8),A[10..17])
  • (k,(18,2),A[18..19])
  • (k,END)
服务器端 使您的服务器使用路由器套接字。把它绑起来

收听形式为
[发送者,(k,v)]
的传入消息

发回一系列类似以下内容的消息:

  • [发送方,(k,开始)]
  • [发送者,(k,(0,10),A[0..9])]
  • [发送者,(k,(10,8),A[10..17])]
  • [发送者,(k,(18,2),A[18..19])]
  • [发送者,(k,END)]


我用方括号表示ZMQ多部分消息,用圆括号表示元组。

谢谢@Timothy Shields,如上所述,多部分可能有用,但我们能否将其实现为两种模式的组合来解决我的问题??例如req rep和pub sub或pub sub和push-pull等。。!或者任何其他已经存在的模式?@spidey这是一个已经存在的模式。从经销商到路由器。服务器端的多部分消息不是我发明的——这是路由器套接字的工作方式。