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

阎良区网站建设网上交易网

阎良区网站建设,网上交易网,wordpress add_menu_page,做网站内链什么意思目录 通信协议设计代码实现 通信协议设计 对于我们客户端与服务器之间的通信协议我们约定如下#xff1a; 具体的协议设计: 之后我们传递的参数也是这些 关于 type其实是在描述当前这个请求 、 响应是在调用那个API 约定如下 对于channel ,是tcp链接中的一个逻辑上的链接,… 目录 通信协议设计代码实现 通信协议设计 对于我们客户端与服务器之间的通信协议我们约定如下 具体的协议设计: 之后我们传递的参数也是这些 关于 type其实是在描述当前这个请求 、 响应是在调用那个API 约定如下 对于channel ,是tcp链接中的一个逻辑上的链接,一个TCP可以有多个Channel,存在的意义是为了让TCP得到复用, 毕竟一个TCP的链接代价挺大 对于客户端来说, 请求是调用一次以上的核心API告诉服务器,我要调用那个类,并传递过来相应的参数, 对于服务器来说 ,响应是给客户端返回这次调用的结果 代码实现 定义响应与请求类 package com.example.demo.Common;import lombok.Data;Data public class Request {private int type;private int length;private byte[] payload;// 对于请求来说 ,payload表示请求 } package com.example.demo.Common;import lombok.Data; // 这个类表示一个响应, 也是根据自定义应用层协议来的 Data public class Response {private int type;private int length;private byte[] payload;// 对于响应来说, payload是内容 } 首先我们创建所有类的父类 , 里面包含身份标识与channel身份标识,然后具体每个方法参数通过继承的方式来体现 package com.example.demo.Common;import lombok.Data;import java.io.Serializable;/* * 对于这个类表示 ,一些公共的参数 ,辅助字段 */ Data public class BasicArguments implements Serializable {// 表示 一次请求 / 响应的身份标识, 可以把请求和响应来对上protected String rid;// 这次通信使用的 channel 的身份标识(TCP 内部的链接)protected String channelId; } 返回父类 package com.example.demo.Common;import lombok.Data;import java.io.Serializable;/* * 表示各个远程调用的方法的返回值的公共信息 */ Data public class BasicReturns implements Serializable {// 用来标识唯一的请求和响应protected String rid;// 用来标识一个 channelprotected String channelId;//表示远程调用方法的返回值protected boolean ok; } 3.根据虚拟主机中的方法,将每个方法所需要传递参数的类定义出来 交换机 package com.example.demo.Common;import com.example.demo.mqServer.core.ExchangeType; import lombok.Data;import java.io.Serializable; import java.util.Map;Data public class ExchangeDeclareArguments extends BasicArguments implements Serializable {private String exchangeName;private ExchangeType exchangeType;private boolean durable;private boolean autoDelete;private MapString ,Object arguments;} package com.example.demo.Common;import lombok.Data;import java.io.Serializable; Data public class ExchangeDeleteArguments extends BasicArguments implements Serializable {private String exchangeName;} 队列 package com.example.demo.Common;import lombok.Data;import java.io.Serializable; Data public class QueueBindArguments extends BasicArguments implements Serializable {private String queueName;private String exchangeName;private String bindingKey; } package com.example.demo.Common;import lombok.Data;import java.io.Serializable; import java.util.Map; Data public class QueueDeclareArguments extends BasicArguments implements Serializable {private String queueName;private boolean durable;private boolean exclusive;private boolean autoDelete;private MapString ,Object arguments; } package com.example.demo.Common;import lombok.Data;import java.io.Serializable; Data public class QueueDeleteArguments extends BasicArguments implements Serializable {private String queueName; } package com.example.demo.Common;import lombok.Data;import java.io.Serializable; Data public class QueueUnbindArguments extends BasicArguments implements Serializable {private String queueName;private String exchangeName;} 消息 package com.example.demo.Common;import com.example.demo.mqServer.core.BasicProperties; import lombok.Data;import java.io.Serializable; Data public class BasicPublishArguments extends BasicArguments implements Serializable {private String exchangeName;private String routingKey;private BasicProperties basicProperties;private byte[] body;} package com.example.demo.Common;import lombok.Data;import java.io.Serializable; Data public class BasicConsumeArguments extends BasicArguments implements Serializable {private String consumerTag;private String queueName;private boolean autoAck;// 这个类对应的 basicConsume 方法中, 还有一个参数, 是回调函数. (如何来处理消息)// 这个回调函数, 是不能通过网络传输的.// 站在 broker server 这边, 针对消息的处理回调, 其实是统一的. (把消息返回给客户端)// 客户端这边收到消息之后, 再在客户端自己这边执行一个用户自定义的回调就行了.// 此时, 客户端也就不需要把自身的回调告诉给服务器了.// 这个类就不需要 consumer 成员了. } 订阅消息 package com.example.demo.Common;import com.example.demo.mqServer.core.BasicProperties; import lombok.Data;import java.io.Serializable; Data public class SubScribeReturns extends BasicReturns implements Serializable {private String consumerTag;private BasicProperties basicProperties;private byte[] body; }
http://wiki.neutronadmin.com/news/440411/

相关文章:

  • 昆明免费网站建设godady怎么做网站
  • 自助健站社交网站制作
  • 网站免费正能量软件直播单位网站的方案
  • 湖南建设监理协会网站做网站的商家怎么赚取流量费
  • 最好的开发网站有哪些招标采购导航网
  • 惠民建设局网站是哪个wordpress 中文 图片
  • 做网站怎么租个域名黑龙江牡安建设有限公司网站
  • 做网站的视频教学网络架构方案书
  • 网站备案法律法规零基础网站建设教学公司
  • 如何做全景网站阀门网站设计
  • 创建网站超市广州地域推广
  • 视频网站用什么做中铁建设门户网官网
  • 电商网站后台怎么做网站开发 自动生成缩略图
  • 深圳营销型网站公司上海seo网站推广公司
  • 那里做直播网站房地产网站建设解决方案
  • 哪个网站做娱乐店铺推广渠道有哪些方式
  • 网站建设丶金手指花总13网站的交互设计
  • 网站开发实验总结邯郸市房价
  • 提供邯郸手机网站建设站长工具高清
  • 新网站建设平台网页qq无法使用快捷登录
  • wordpress支持多站点网站页面分析范文
  • 网站建设军成图片设计制作软件
  • 南宁网站推广策略免费服务器推荐
  • 网站开发看什么书徐州自助建站系统
  • 网站建设作业多少钱微信商城小程序平台
  • php网站开发技术是什么0元免费做代理
  • 电子商城网站建设方案手机网页微信
  • 怎么做网站反向链接wap门户网站
  • 手机网站怎么改成电脑版网站建设与维护 目录
  • 漳州做网站建设公司c语言必背100代码