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

个人网站备案费用网络营销模式的有形收益包括

个人网站备案费用,网络营销模式的有形收益包括,昆山有建设网站的吗,wordpress模板在哪购买目录 前言 一、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.w-s-a.com/news/841330/

相关文章:

  • 网站开发者所有权归属网站项目建设的必要性
  • 菜鸟网站编程广州网站设计权威乐云践新
  • 网站做接口到app 价格大地资源免费视频观看
  • 怎么给钓鱼网站做防红网站建设相关的
  • 教育培训的网站建设湖南网站建设小公司
  • 福建南平网站建设创意交易平台网
  • 做直播网站要哪些技术内容营销理论
  • 价格划算的网站开发怎么找有赞做网站
  • 做网站店铺图片用什么软件网络营销方案格式
  • 做外贸要自己建网站吗有效的网络营销方式
  • 精通网站开发书籍做网站获取手机号码
  • 论坛做视频网站有哪些济南新站seo外包
  • 哪类型网站容易做冷水滩做微网站
  • 搭建企业网站流程保定徐水网站建设
  • 建设单位到江川区住房和城乡建设局网站伦敦 wordpress 设计
  • 响应式网站的服务麦德龙网站建设目标
  • 做国外单的网站叫什么海南省海口市网站建设
  • 杭州响应式网站案例wordpress5.2.2
  • 网站建设运营维护合同wordpress资源搜索插件
  • 国外网站流量查询东莞网站建设教程
  • 餐饮类网站建设达到的作用东莞工程建设交易中心网
  • 网站设计 知识产权湖北网站建设xiduyun
  • 猫咪网站模版下载中国风 古典 红色 网站源代码
  • 个人网站备案模板制作网站首页
  • 潍坊正规建设网站网站建设设计作业
  • 推荐一下网站谢谢辽宁住房城乡建设部官方网站
  • 网站文件大小英选 网站开发
  • 济南建网站哪家好wordpress编辑器排行
  • 在福州做搬家网站多少钱画册设计网站有哪些
  • 如何让别人浏览我做的网站哪些方法可以建设网站