【发布时间】:2014-12-05 09:13:11
【问题描述】:
基本问题如下:
- 两个节点通过单个套接字进行通信;
- 请求-回复模式;
- 两个节点都是客户端和服务器,即节点A向节点B发出请求,节点B向节点A发出请求;
这可以通过两个插座轻松解决,但我只有一个。您可以将问题视为必须在单个套接字上创建多个 虚拟套接字/通道。 您知道支持此类用例的经过良好测试的消息传递库吗?
另外:
- 支持 C++ 和 Java;
- 数据序列化由我使用 Google Protocol Buffers 处理;和
- 如果可以使用 RPC 实现所有这些,那就太好了,否则我将使用 protobuf 进行管理。
我宁愿不必编写自己的库并使用经过良好测试和良好支持的东西。我研究了 ZeroMQ,但它似乎不支持第三个要求(通过单个套接字同时从 A 到 B 和从 B 到 A 的请求-答复模式)。 RabbitMQ 是另一种可能性,但也可能不支持此要求。 (我没有使用这些库的经验,所以也许我错了......)
(不知道是不是要求太多了。)
【问题讨论】:
-
我知道这个问题已经有将近一年的历史了,所以我想知道从那时起你是否找到了答案。
-
@GeorgeAntoniadis -- 不,没有解决方案。给我的要求发生了变化,所以我使用了两个插座,每个方向一个。
标签: sockets rabbitmq protocol-buffers zeromq amqp