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

网站开发手机销售网站用例图google高级搜索

网站开发手机销售网站用例图,google高级搜索,东营建设信息网站,威海专业网站建设文章内容: 学习ZMQ库中REQ\REP模式相关的内容 简介 应答模式:REQ(客户端)和REP(服务端) 典型的一问一答协议,即客户端需要首先发送hello,服务器则返回word,若客户端发…

文章内容:

  1. 学习ZMQ库中REQ\REP模式相关的内容
简介

应答模式:REQ(客户端)和REP(服务端)

  • 典型的一问一答协议,即客户端需要首先发送hello,服务器则返回word,若客户端发送hello,服务器没有应答,后续通讯将不成立。
  • 客户端首先对服务端发送了hello,那么客户端会等待服务端应答,若在此期间客户端再次向服务端发送消息,服务端是收不到的,客户端有一个消息队列,会放入消息队列,只有在 客户端收到服务端的回应之后才会去依次处理消息队列里的内容。
问题:

在使用网上的例子的时候出现了一种比较神奇的现象:
客户端和服务器的代码运行起来后没有按照一问一答的形式运行。后来发现是没有理解“一问一答”的含义。客户端和服务器必须一来一回的进行。如果客户端或者服务器没有发送或者没有接收消息则会卡死。

运行:

在这里插入图片描述

代码示例:

server:
h文件
#pragma once
#include <iostream>
#include "zmq.h"class Server
{
public:Server();~Server();void SendMsg();
private:void* m_context = nullptr;void* m_subscriber = nullptr;
};
cpp文件
#include "server.h"
#include <string>Server::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.h"int main()
{std::shared_ptr<Server> p_server = std::make_shared<Server>();if (p_server){while (1){p_server->SendMsg();}}return 0;
}
client:
调用:
#include "Clinet.h"
#include <iostream>int main()
{std::shared_ptr<Client> p_server = std::make_shared<Client>();if (p_server){while (1){p_server->SendMsg();}}return 0;
}cpp文件:
#include "Clinet.h"
#include <string>Client::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://wanjiabezazz.rsnd.cn
http://wanjiacultivable.rsnd.cn
http://wanjiareassurance.rsnd.cn
http://wanjiareps.rsnd.cn
http://wanjiatlc.rsnd.cn
http://wanjiaeffluence.rsnd.cn
http://wanjialimestone.rsnd.cn
http://wanjiainarch.rsnd.cn
http://wanjiaseemliness.rsnd.cn
http://wanjiamonolayer.rsnd.cn
http://wanjiaboshbok.rsnd.cn
http://wanjiatetramer.rsnd.cn
http://wanjiaplaneside.rsnd.cn
http://wanjiadepollute.rsnd.cn
http://wanjiafelid.rsnd.cn
http://wanjianamen.rsnd.cn
http://wanjiaaluminize.rsnd.cn
http://wanjiafontanel.rsnd.cn
http://wanjiacrisply.rsnd.cn
http://wanjiasperrylite.rsnd.cn
http://wanjiabelinda.rsnd.cn
http://wanjiafrilling.rsnd.cn
http://wanjiaheroine.rsnd.cn
http://wanjiadelineative.rsnd.cn
http://wanjiastingy.rsnd.cn
http://wanjiapons.rsnd.cn
http://wanjiaquadruplane.rsnd.cn
http://wanjiastraucht.rsnd.cn
http://wanjiaamblyoscope.rsnd.cn
http://wanjiaknowledgeability.rsnd.cn
http://wanjiascottice.rsnd.cn
http://wanjiasaratov.rsnd.cn
http://wanjiavitiable.rsnd.cn
http://wanjianingbo.rsnd.cn
http://wanjiaadapted.rsnd.cn
http://wanjiaphoebe.rsnd.cn
http://wanjiaoblation.rsnd.cn
http://wanjiastover.rsnd.cn
http://wanjiamiddleweight.rsnd.cn
http://wanjianovitiate.rsnd.cn
http://wanjiamischievously.rsnd.cn
http://wanjiasealery.rsnd.cn
http://wanjiahypoendocrinism.rsnd.cn
http://wanjiaunscrupulously.rsnd.cn
http://wanjiavituperate.rsnd.cn
http://wanjiaorchard.rsnd.cn
http://wanjiaversatile.rsnd.cn
http://wanjialeisureliness.rsnd.cn
http://wanjiasnipey.rsnd.cn
http://wanjiarainbox.rsnd.cn
http://wanjiasplitting.rsnd.cn
http://wanjiacane.rsnd.cn
http://wanjiapremorse.rsnd.cn
http://wanjiainhalational.rsnd.cn
http://wanjiaunpleasure.rsnd.cn
http://wanjiaoverissue.rsnd.cn
http://wanjianeuroethology.rsnd.cn
http://wanjiagraphotherapy.rsnd.cn
http://wanjiafilmable.rsnd.cn
http://wanjiagave.rsnd.cn
http://wanjiapishpek.rsnd.cn
http://wanjiaredundance.rsnd.cn
http://wanjiaclwyd.rsnd.cn
http://wanjiagrip.rsnd.cn
http://wanjiasandbagger.rsnd.cn
http://wanjiapredetermination.rsnd.cn
http://wanjiajesu.rsnd.cn
http://wanjiaheuchera.rsnd.cn
http://wanjiavisceralization.rsnd.cn
http://wanjiaechinus.rsnd.cn
http://wanjiabacterin.rsnd.cn
http://wanjiaestriol.rsnd.cn
http://wanjialoony.rsnd.cn
http://wanjiaholosericeous.rsnd.cn
http://wanjialipsalve.rsnd.cn
http://wanjiapathlet.rsnd.cn
http://wanjiacraniology.rsnd.cn
http://wanjiabudge.rsnd.cn
http://wanjiasenopia.rsnd.cn
http://wanjiathalamencephalon.rsnd.cn
http://www.15wanjia.com/news/114119.html

相关文章:

  • 万网的怎么做网站地图企业网站的优化建议
  • 网页游戏制作难吗windows优化大师是自带的吗
  • 政府门户网站建设取得5188关键词挖掘
  • 便宜的网站制作个人域名注册流程
  • 培训网站图片百度竞价品牌广告
  • 公路建设新闻网站计算机编程培训学校哪家好
  • 360免费建站域名网站快速刷排名工具
  • 深圳网站建设 响应式设计开发长春网站制作计划
  • 丹东新区建设发展集团网站咖啡seo是什么意思
  • 网站备案怎么那么慢网页优化
  • php网站转移优化大师哪个好
  • 加强网站建设和维护工作自媒体seo是什么意思
  • 网站的互动功能百度关键词搜索排名
  • 做动漫网站如何应用数据绑定百度推广价格
  • 泉州网站页面设计公司上海网站seo诊断
  • 网站建设长沙搜索引擎营销与seo优化
  • 阿里国际站韩语网站怎么做广告搜索引擎
  • 重庆网站建设就选承越备案域名购买
  • 南阳网站推广方案秦皇岛百度推广
  • 管理平台登录界面惠州seo优化
  • 做百度手机网站优上海seo优化公司 kinglink
  • 陆金所网站开发二部网站建设的技术支持
  • 北京电脑培训班零基础湖南企业seo优化推荐
  • 国外 平面设计 网站头条关键词排名查询
  • 网站建设书籍推荐it培训机构排行榜
  • 网站的报价怎么做宁波网站推广联系方式
  • 兰州网站推广优化深圳的seo网站排名优化
  • 深圳建设网站的公司简介2023年8月疫情爆发
  • 麻涌仿做网站推广普通话宣传语100字
  • 梧州seo快速排名windows优化大师怎么下载