当前位置: 首页 > news >正文

17我们一起做网站杭州 建设网站制作

17我们一起做网站,杭州 建设网站制作,手机开发者网站,wordpress开发 书文章内容#xff1a; 学习ZMQ库中REQ\REP模式相关的内容 简介 应答模式#xff1a;REQ#xff08;客户端#xff09;和REP#xff08;服务端#xff09; 典型的一问一答协议#xff0c;即客户端需要首先发送hello#xff0c;服务器则返回word#xff0c;若客户端发…文章内容 学习ZMQ库中REQ\REP模式相关的内容 简介 应答模式REQ客户端和REP服务端 典型的一问一答协议即客户端需要首先发送hello服务器则返回word若客户端发送hello服务器没有应答后续通讯将不成立。客户端首先对服务端发送了hello那么客户端会等待服务端应答若在此期间客户端再次向服务端发送消息服务端是收不到的客户端有一个消息队列会放入消息队列只有在 客户端收到服务端的回应之后才会去依次处理消息队列里的内容。 问题 在使用网上的例子的时候出现了一种比较神奇的现象 客户端和服务器的代码运行起来后没有按照一问一答的形式运行。后来发现是没有理解“一问一答”的含义。客户端和服务器必须一来一回的进行。如果客户端或者服务器没有发送或者没有接收消息则会卡死。 运行 代码示例 server: h文件 #pragma once #include iostream #include zmq.hclass Server { public:Server();~Server();void SendMsg(); private:void* m_context nullptr;void* m_subscriber nullptr; }; cpp文件 #include server.h #include stringServer::Server() {m_context zmq_ctx_new();m_subscriber zmq_socket(m_context, ZMQ_REP);int rc zmq_bind(m_subscriber, tcp://127.0.0.1:8080);if (rc ! 0){printf(Socket binding failed\n);// return -1;} }Server::~Server() {}void Server::SendMsg() {char buffer[256];memset(buffer, 0, sizeof(buffer) - 1);zmq_recv(m_subscriber, buffer, sizeof(buffer) - 1, 0); // 接收消息printf(Received message: %s\n, buffer);zmq_sleep(1);strcpy_s(buffer, World); // 准备回复消息zmq_send(m_subscriber, buffer, strlen(buffer), 0); // 发送回复消息 }调用 #include server.hint main() {std::shared_ptrServer p_server std::make_sharedServer();if (p_server){while (1){p_server-SendMsg();}}return 0; }client: 调用 #include Clinet.h #include iostreamint main() {std::shared_ptrClient p_server std::make_sharedClient();if (p_server){while (1){p_server-SendMsg();}}return 0; }cpp文件 #include Clinet.h #include stringClient::Client() {m_context zmq_ctx_new();// 客户端m_subscriber zmq_socket(m_context, ZMQ_REQ);// zmq_setsockopt(subscriber, ZMQ_SUBSCRIBE, , 0);int rc zmq_connect(m_subscriber, tcp://127.0.0.1:8080); // 连接到服务器端的地址和端口if (rc ! 0){printf(connect error %s\n, zmq_strerror(errno));zmq_close(m_subscriber);zmq_ctx_destroy(m_context);}}Client::~Client() { }void Client::SendMsg() {// std::cout sendMsg std::endl;int rc;// 3.循环发送数据、接收数据char str_tmp[] Hello, ZeroMQ!;char* msg str_tmp;rc zmq_send(m_subscriber, msg, strlen(msg), 0); // 发送消息if (rc -1){printf(send error: %s\n, zmq_strerror(errno));}char buffer[256];memset(buffer, 0, sizeof(buffer) - 1);zmq_recv(m_subscriber, buffer, sizeof(buffer) - 1, 0); // 接收消息printf(Received message: %s\n, buffer);}H文件 #pragma once #include zmq.h class Client { public:Client();~Client();void SendMsg(); private:void* m_context nullptr;void* m_subscriber nullptr; };
http://www.w-s-a.com/news/796245/

相关文章:

  • 抚顺市城市建设档案馆网站制作网页时经常用的一种动态位图格式是
  • 公司网站站群是什么运营网站
  • 昆明网站建设大全安徽教育机构网站建设
  • 广州网站排名怎么优化中华衣柜网
  • 怎样围绕网站专题发展来做ppt城乡住建局官网
  • 安卓手机app制作关键词优化公司
  • 江苏固茗建设有限公司网站深圳网站建设深圳网
  • 高性能网站建设指南北京城乡建设官方网站
  • 企业网站找谁做做淘宝相关网站
  • 商业网站网站建设wordpress关闭前端公共库
  • 打开山东城市建设职业学院网站下载了wordpress后
  • 四川网站建设设计城乡建设网站证件查询系统
  • 企业邮箱哪里买栾城seo整站排名
  • 长沙网站建设zh68网页制作技术实训报告
  • 电商网站的功能手机广告设计与制作软件
  • 做网站前端需要编程基础吗杭州市住房和城乡建设局
  • 网站开发一般学多久网站建设投标方案
  • 北京网站建设报价表制作短视频的软件有哪些
  • 长沙企业网站开发西安建设公司网站
  • 做图的兼职网站网站开发用了哪些知识要点
  • php网站怎么做静态化微慕wordpress插件
  • 电商营业执照wordpress利于seo
  • 那些网站主做玄幻小说营销策略都有哪些方面
  • 同一源代码再建设一个网站建立网站免费
  • 网站更换服务器影响做seo必须有网站吗
  • 免费网页模板网站php微信微网站怎么做
  • 网站的优点和缺点腾讯企点是什么软件
  • 谷歌英文网站推广网页设计好看的网站
  • 衡水网站建设集团各大网站注册
  • 违法网站开发做注册任务网站源码