Wudashan Blog

Java开发工程师

Californium开源框架之源码分析(七)

core包,一些封装好的供开发者使用的类。

项目源码地址:https://github.com/eclipse/californium core包 core根目录下,封装好了一些供开发者使用的类。 根目录 CaliforniumFormatter类 该类继承了java.util.logging.Formatter类,并重写了format()方法。对日志输出进行了格式化处理,默认给每条日志添加线程id、日志级别、类...

Californium开源框架之源码分析(六)

network模块(下),网络传输核心模块。

项目源码地址:https://github.com/eclipse/californium network包 network包目录下,是框架中网络传输的核心模块。 stack包 该模块为CoAP协议栈,模块一共有以下类: Layer接口 该接口表示抽象的协议层,负责处理CoAP消息。当处理完后,会将消息往上层或下层传递,由它们继续处理。使用的是设计模式中的职责链模...

Californium开源框架之源码分析(五)

network模块(上),网络传输核心模块。

项目源码地址:https://github.com/eclipse/californium network包 network包目录下,是框架中网络传输的核心模块。 config包 该目录下一共有4个类。 NetworkConfig类 该类表示框架的服务端、端点和连接器的配置参数。比如CoAP协议的端口号、ACK超时时间、去重策略等等。 我们可以通过Network...

Californium开源框架之源码分析(四)

server模块,服务端和资源。

项目源码地址:https://github.com/eclipse/californium server包 server包目录下,描述的是服务端和内嵌的资源。 根目录 ServerInterface接口 该接口描述了一个服务端需要提供什么功能:CoAP资源的运行环境。 资源是以N叉树的数据结构表示的,服务端只持有根节点。一个服务端可以绑定多个Endpoint,只要ip...

Californium开源框架之源码分析(三)

observe模块,CoAP协议特点之资源订阅。

项目源码地址:https://github.com/eclipse/californium 引言 物联网时代,为了在设备监控的数据发生变化时平台能第一时间获取到,频繁地定时地向设备获取其数据是不现实的。一是会消耗设备的电量、二是会浪费不必要的带宽。其解决方案是:平台作为一个客户端向设备(服务端)的数据发起一个订阅请求,在设备数据发生变化时主动推送给平台。交互图如下: o...

Californium开源框架之源码分析(二)

coap模块,协议中的常量定义与消息模型。

项目源码地址:https://github.com/eclipse/californium coap包 coap包目录下,主要是CoAP协议中定义的常量和消息基本模型。 CoAP类 该类定义了CoAP报文的一些常量,以及按协议要求定义了报文中各字段的格式。包括: 消息类型:CON,NON,ACK,RST 请求码:GET,POST,PUT,DELETE 响应...

Californium开源框架之源码分析(一)

从整体到模块,从模块到细节,细节见卓越!

项目源码地址:https://github.com/eclipse/californium 引言 在《Californium开源框架分析(入门篇)》博客中,我们通过模拟Debug + 源码走读的方式,对Californium框架有了一个整体的认识。本篇博客,我们将按框架的目录结构,对框架的结构进行分解,后续系列文章对每个包进行详细的分析和解读。Californium开源框架由ca...

Californium开源框架分析(入门篇)

一个基于Java实现的CoAP技术框架。

项目源码地址:https://github.com/eclipse/californium 引言 物联网时代,所有设备都可以接入我们的互联网。想想看只要有一台智能手机,就可以操控所有的设备,也可以获取到所有设备采集的信息。不过,并不是所有设备都支持HTTP协议的,而且让设备支持HTTP协议也不现实,因为对于设备来说,这个协议太重了,会消耗大量的带宽和电量。于是CoAP协议也就运应...

《代码整洁之道》 读书笔记

细节之中自有天地,整洁成就卓越代码

保持代码整洁,保证用例覆盖,你会感谢我的。 本书结构 本书主要分为三个部分。第一部分1~10章分别从概念、命名、函数、注释、格式、对象与数据结构、错误处理、边界、单元测试、类的角度讲解如何保持代码整洁;第二部分11~13章从系统层面讲解如何保持代码整洁;第三部分14~17章则是从实战的角度对之前所学内容进行演练。 我在看这本书的时候,着重阅读了第一部分和第二部分。第三部分实战演练...

Adapter Pattern 适配器模式

想使用的类的接口不符合你的需求,那就尝试写个适配器吧!

将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。 模式名和分类 适配器模式,属于结构型模式。 动机 在软件开发过程中,有时为了更聚焦核心业务功能,我们会依赖一些开源组件来实现一些通用的、基础的功能。一般情况下,直接调用开源组件包中的类的接口来访问它所提供的服务即可。但是,有时会发现它所提供的接口不是我们所期望的,具体表现在方法名不符合我们的...