网络通信系列文章序 彻底掌握网络通信(一)Http协议基础知识 彻底掌握网络通信(二)Apache的HttpClient基础知识 彻底掌握网络通信(三)Android源码中HttpClient的在不同版本的使用 彻底掌握网络通信(四)Android源码中HttpClient的发送框架解析 彻底掌握网络通信(五)DefaultRequestDirector解析 彻底掌握网络通信(六)HttpRequestRetryHandler解析 彻底掌握网络通信(七)ConnectionReuseStrate…
NetworkComms网络通信框架序言 networkcomms是我遇到的写的最优美的代码,很喜欢,推荐给大家:) 基于networkcomms2.3.1开源版本( gplv3)协议,写了一些文章,希望大家喜欢,个人水平有限,不足之处难免. networkcommsc#通信框架来自于美丽的英国剑桥,由大洋彼岸的两位工程师 Marc Fletcher, Matthew Dean开发. c#网络通信框架networkcomms内核解析之一 消息传送 c#网络通信框架networkcomms内核解析…
NetworkComms网络通信框架序言 本例基于networkcomms2.3.1开源版本  gplv3协议 如果networkcomms是一顶皇冠,那么CommsThreadPool(自定义线程池)就是皇冠上的明珠了,这样说应该不夸张的,她那么优美,简洁,高效. 在 <c#网络通信框架networkcomms内核解析之六 处理接收到的二进制数据>中我们曾经提到,服务器收到数据后,如果是系统内部保留类型数据或者是最高优先级数据,系统会在主线程中处理,其他的会交给自定义线程池进行处理. 作为服…
NetworkComms网络通信框架序言 本文基于networkcomms2.3.1开源版本  gplv3协议 我们先回顾一个 c#网络通信框架networkcomms内核解析之六 处理接收到的二进制数据 中,主程序把PacketBuilder 中的数据交给核心处理器处理的过程 //创建优先级队列项目 PriorityQueueItem item = new PriorityQueueItem(priority, this, topPacketHeader, packetBuilder.Read…
CNAME 简介 CNAME 即指别名记录,也被称为规范名字.这种记录允你将多个名字映射到同一台计算机. 当需要将域名指向另一个域名,再由另一个域名提供 ip地址,就需要添加 CNAME 记录. 为什么使用CDN需要 CNAME 记录? 在七牛云开发者平台创建加速域名后,会给域名分配一个 “CNAME域名”(例:example.qiniudns.com).用户需要在域名服务商处,配置一条 CNAME 记录,将访问加速域名的请求指向这个 example.qiniudns.com 域名记录,生效后访…
networkcomms.net 来自英国的网络通信框架 官方网址 www.networkcomms.net 中文网址www.networkcomms.cn 在网络通信程序中,本地的类或者对象,要传输到通信的另一端,在网络上传输的时候是二进制流的形式. 那么在发送消息的时候要把对象序列化为二进制流 对方接收到二进制数据流要还原成对象. 我们知道使用Tcp协议传输消息的时候有消息边界问题,要解决这个问题,方法有很多,比如: (1)固定尺寸的消息 (2) 使用消息尺寸信息 (3) 使用消息标记 我们…
networkcomms.net 来自英国的网络通信框架 官方网址 www.networkcomms.net 中文网址www.networkcomms.cn 在网络通信程序中,本地的类或者对象,要传输到通信的另一端,在网络上传输的时候是二进制流的形式. 那么在发送消息的时候要把对象序列化为二进制流 对方接收到二进制数据流要还原成对象. 我们知道使用Tcp协议传输消息的时候有消息边界问题,要解决这个问题,方法有很多,比如: (1)固定尺寸的消息 (2) 使用消息尺寸信息 (3) 使用消息标记 我们…
networkcomms.net 来自英国的网络通信框架 官方网址 www.networkcomms.net 中文网址www.networkcomms.cn 客户端发送消息给服务器,服务器计算结果返回给客户端,这是网络通信应用程序中常见的使用情境. 拿用户登录举例子,客户端把包含用户名和密码的契约类发送给服务器,服务器从数据获取数据后与收到的契约类数据进行对比,如果一致,返回登录成功的信息,如果不一致,返回登陆不成功的信息 NetworkComms框架支持消息的同步调用,就像调用本地方法一般.…
NetworkComms网络通信框架序言 本文基于networkcomms2.3.1开源版本  gplv3协议 我们自己写的处理方法都称之为自定义处理方法 比如,我们在服务器上写的与登陆相关的处理方法: NetworkComms.AppendGlobalIncomingPacketHandler<LoginContract>("ReqLogin", IncomingLoginRequest); private void IncomingLoginRequest(Packet…
一.什么是body parser? body parser(不知道具体如何翻译,~~~~(>_<)~~~~ )指一个HTTP请求 (如POST和PUT操作)所包含的文本内容(body),这个body就HTTP response中的Content-Type header,该body可能是XML.JSON.二进制码(binary data).文本或其他Content-type类型,而body parser的功能就是将这一请求body转换为JAVA. 其解析过程见下图:…