zmq是基于tcp实现的吗_不知道有人使用 zmq/zeromq 公共库么?

以下为官方给出的 zmq c++多线程 demo ,我的项目也是从这个改版出来的,但是我遇到一个非常严重的问题,当我有多个客户端同时访问的时候就出现了问题。

情况如下:

我们假设 A/B/C 三个客户端,同时发送 a/b/c 给服务器,服务器的工作就是把接收到的字符串完全返回,正常的话,客户端应该接收到的回复也是 a/b/c 。

但是我这里会出现的情况是,收到: a/a/c 或 b/b/c 等

也就是说,会把应该分来应该发送给 a 的,也发送给了 b ,同时 b 的那条就丢失了

这种情况有人遇到过么?

#include

#include

#include

#include

#include

#include

void *worker_routine (void *arg)

{

zmq::context_t *context = (zmq::context_t *) arg;

zmq::socket_t socket (*context, ZMQ_REP);

socket.connect ("inproc://workers");

while (true) {

// Wait for next request from client

zmq::message_t request;

socket.recv (&request);

std::cout << "Received request: [" << (c

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值