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

公司注销预审在什么网站做做网站哪家公司便宜

公司注销预审在什么网站做,做网站哪家公司便宜,爱站网长尾关键词挖掘工具,金融公司网站建设目录 前言 一、CoapClient相关类介绍 1、CoapClient类图 2、CoapClient的设计与实现 3、SendMessage解析 二、Client调用分析 1、创建CoapClient对象 2、实际发送请求 3、Server端请求响应 4、控制器寻址 总结 前言 在之前的博客内容中#xff0c;关于在ASP.Net Co… 目录 前言 一、CoapClient相关类介绍 1、CoapClient类图 2、CoapClient的设计与实现 3、SendMessage解析 二、Client调用分析 1、创建CoapClient对象 2、实际发送请求 3、Server端请求响应 4、控制器寻址 总结  前言 在之前的博客内容中关于在ASP.Net Core当中使用Coap协议进行开发进行一篇博文的探讨物联网协议Coap之C#基于Mozi的CoapServer实现解析。这边博文主要是讲解了在ASP .Net Core当中如何使用C#编程语言进行CoapServer的实现对其涉及的相关类进行了简单的讲解相信大家对其实现和协议实现由了一定的认识。但是基于C#的Client的设计与实现以及详细的调用方式并没有进行讲解。 本文是上篇博客的继续介绍篇依然使用ASP .NET Core采用C#编程语言进行开发重点介绍CoapClient的C#代码实现以及使用Get方法实际发送请求详细阐述与CoapServer端的交互调用。便于各位读者在使用过程中对Coap的调用机制有更深的了解和掌握。 一、CoapClient相关类介绍 在Coap中无论是使用Java进行开发还是C#或者使用PHP必须要使用Client对象进行请求的发送即Get、Post、Put、Delete四种请求。因此在C#中有必要对CoapClient进行一下简单介绍同时可以对比一些在不同的编程语言中实现上的有所区别。 1、CoapClient类图 第一步来看一下CoapClient的类图详细如下图所示 相信看过CoapServer的设计的朋友们一定记得CoapServer的父类是什么不记得的不要紧下面将贴出重点代码 public class CoAPServer : CoAPPeer 是的各位没有看错CoapServer也是CoAPPeer的子类其实不管是客户端还是服务端都是需要进行通讯的二CoAPPeer就承接了这部分工作的。 CoAPPeer是对等的双方都需要实现协议中共同的部分。 2、CoapClient的设计与实现 言归正传这里还是要把CoapClient类的设计好好介绍一下毕竟Client负责了所有终端与服务端的交互。也非常有必要介绍一下这位主角。 public class CoAPClient : CoAPPeer{private bool _randomPort true;private CoAPTransmissionConfig _transConfig new CoAPTransmissionConfig();private MessageCacheManager _cacheManager;private ulong _packetReceived;//private ushort _remotePort CoAPProtocol.Port;//private string _remotehost ;/ summary/ 远端服务器地址/ /summary//public string RemoteAddress { get { return _remotehost; } protected set { _remotehost value; } }/ summary/ 远端服务器端口/ /summary//public ushort RemotePort { get { return _remotePort; } protected set { _remotePort value; } }/// summary/// 服务端回应请求/// /summarypublic MessageTransmit Response;/// summary/// 发起请求/// /summarypublic MessageTransmit Request;private byte[] _token;/// summary/// 统一通信Token/// /summarypublic byte[] Token { get _token; set _token value; } 通过代码可以看到在CoapClient中定义了请求和响应对象以及token对象。 在这个类当中不仅定义了Client的相关属性同时还定义了丰富的方法基本上是围绕Get、Post、Put、Delete等四个方法当中。下面来详细介绍一下 以Get为例这里就定义三个重载方法对于实际使用过程当中几乎可以覆盖相关场景如果您还觉得不够可以自行扩展以更好的贴近自己的实际需求。 序号方法参数说明1Get(string url) Get方法默认消息类型为see crefCoAPMessageType.Confirmable/2Get(string url, CoAPMessageType msgType) url地址中的要素会被分解注入到Options中 msgType消息类型 3Get(string url, CoAPMessageType msgType, IListCoAPOption options) url地址中的要素会被分解注入到Options中 msgType消息类型 options 选项集合 当然不论是Get还是Post方法其底层其实都用调用SendMessage()方法因此SendMessage才是核心的方法。 3、SendMessage解析 以下是核心的发送消息的方法代码如下 /// summary/// /summary/// param nameurl地址中的要素会被分解注入到Options中,参见see crefGet(string, CoAPMessageType, IList{CoAPOption})//param/// param namemsgType消息类型默认为see crefCoAPMessageType.Confirmable//param/// param namemsgId/param/// param nametoken/param/// param namemethod/param/// param nameoptions/param/// param namepayload/param/// returns/returnspublic ushort SendMessage(string url, CoAPMessageType msgType, ushort msgId, byte[] token, CoAPRequestMethod method, IListCoAPOption options, byte[] payload){CoAPPackage cp new CoAPPackage{Code method,Token token,MesssageId msgId,MessageType msgType ?? CoAPMessageType.Confirmable};UriInfo uri UriInfo.Parse(url);if (!string.IsNullOrEmpty(uri.Url)){if (cp.Code CoAPRequestMethod.Post || cp.Code CoAPRequestMethod.Put){cp.Payload payload;}//注入URI信息cp.SetUri(uri);//发起通讯if (!string.IsNullOrEmpty(uri.Host)){if (options ! null){foreach (var opt in options){cp.SetOption(opt.Option, opt.Value);}}SendMessage(uri.Host, uri.Port 0 ? CoAPProtocol.Port : uri.Port, cp);}else{throw new Exception($DNS无法解析指定的域名:{uri.Domain});}}else{throw new Exception($分析链接地址:{url}时出错请检查URL地址是否合法);}return cp.MesssageId;} 序号参数名说明1url请求地址2msgType消息类型3msgId消息id4token通信令牌5method请求方法如get、post、put、delete等6options选项集合7payload请求载荷简单理解就是请求参数包 二、Client调用分析 CoapClient的请求调用在C#中的实现与Java是类似的也是要创建CoapClient对象然后向Server端发送请求下面会针对这个调用流程进行介绍。 1、创建CoapClient对象 创建client对象的关键代码如下 CoAPClient cc new CoAPClient(); //本地端口 cc.SetPort(12340);cc.Response new MessageTransmit((x, y, z) {Console.ForegroundColor ConsoleColor.DarkGreen;Console.WriteLine(z.ToString(CoAPPackageToStringType.HttpStyle));Console.ForegroundColor ConsoleColor.Gray; }); cc.Request new MessageTransmit((x, y, z) {Console.WriteLine(z.ToString(CoAPPackageToStringType.HttpStyle)); });cc.Start(); 这里与CoapServer的启动流程是一样的同样会创建Udp的Socket然后绑定endPoint。这样即完成了CoapClient对象的创建及启动准备。 2、实际发送请求 在创建了Client对象和启动后即可进行相应方法的调用。下面以get方法为例调用一个之前我们用C#写好的一个Resource访问代码如下 cc.Get(coap://127.0.0.1:5683/core/time?type1,CoAPMessageType.Confirmable); 然后调用下面的消息发送方法进行消息的发送。 调用Socket对象进行消息的发送。 3、Server端请求响应 以上步骤一个请求就已经发往了Server下面来看一下Server端的Resoure寻址过程。首先在CoapServer当中有一个Socket_AfterReceiveEnd的方法用来接收请求如下过程进行请求包的一个解析和转换。 这里很关键这里就是把之前通过ResourceManager管理器统一管理的控制器进行获取类似与Java当中反射和IOC的概念。这里千万要理解。 4、控制器寻址 在上面的过程当中会调用Invoke方法进行反射调用方法下面来具体看一下控制器寻址怎么实现的。首先在Invoke的之后实际会调用下面的管理器核心方法。 这个方法是定义在ResourceManager这个类当中的。然后根据请求路径去IOC容器中寻找匹配的资源对象。 随后完成实际方法的调用一气呵成。这种调用方法与java的反射有异曲同工之处。 总结  以上就是本文的主要内容 本文是上篇博客的继续介绍篇依然使用ASP .NET Core采用C#编程语言进行开发重点介绍CoapClient的C#代码实现以及使用Get方法实际发送请求详细阐述与CoapServer端的交互调用。便于各位读者在使用过程中对Coap的调用机制有更深的了解和掌握。行文仓促难免有疏漏和不当之处如果不足欢迎各位朋友在评论区之处。
http://www.zqtcl.cn/news/9674/

相关文章:

  • 网站编辑工具软件网站做外链的具体步骤
  • 网站开发入门ppt手机网站jq导航菜单
  • 手把手教你建网站如何销售自己产品方法有哪些
  • 成都定制网站设网站建设流程有几个阶段
  • 云虚拟主机怎么建设网站1688淘宝货源一件代发
  • 如何做网站支付链接微信公众号登录平台登录官网
  • 企业网站建设与维护怎么注册自己的app
  • 网站优化优化怎么做文件什么上传到wordpress
  • 外网搭建为什么seo工资不高
  • 凤岗东莞微信网站建设注册有限公司需要什么资料
  • 网站建设 自学网站开发实现软硬件环境
  • 网站为什么会被挂马最常用最齐全wordpress插件大全
  • 福建工程建设中心网站30天网站建设 视频
  • 沉默是金网站seo搜索引擎优化案例
  • 个人免费展示网站中国执行信息公开网官网
  • 广州地址设计网站php网站开发技术题目
  • qq上如何做文学网站网站开发社区
  • 深圳网站备案注销西安月子中心网站制作
  • 网站建设对企业带来什么作用广州学习网站建设
  • 西安网站建设雄账号重庆网领网站建设公司
  • 东莞网站推广排名centos装wordpress
  • 网站建设宣传语怎么写网站开发简历 自我评价
  • dedecms做图库网站衡水手机网站建设公司
  • 青岛网站建设公司怎么样泉州优化怎么做seo
  • 西安网站优化seo罗湖高端网站设计
  • 网站底部导航wordpress手机投稿
  • 网站类网站开发教程微信小程序表单制作
  • 学做网站 软件石英手表网站
  • 网站开发 教材承德网站建设案例
  • 南京鼓楼做网站的公司无锡做公司网站的