Netty在物联网中的应用

Posted 易货嘀51区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Netty在物联网中的应用相关的知识,希望对你有一定的参考价值。


Netty应用实战

1

物联网是什么

通过各式各样的通讯手段将各式各样的传感设备联接到互联网(或其它类型网络)

2

物联网技术三要素

传感器:

    gps、陀螺仪、水平传感器、距离传感器、重力感应加速计、光线/温度/湿度/气压、摄像头、射频…

通讯网络:

    wifi、gprs、2g/3g/4g/5g、nb-iot、lora、zigbee、bluetooth、卫星…

应用:

   各种上层应用软件

3

Netty引

Netty是一个基于Java NIO client-server的网络应用框架

使用Netty可以快速开发网络应用,例如服务器和客户端协议

使用Netty可以解决以下问题

 1)异步非阻塞I/O+Reactor模式

 2)Tcp接收和发送缓冲区使用直接内存,避免内存复制

 3)内存池循环利用ByteBuf

 4)无锁化串行设计

 5)引用计数器及时释放对象,降低GC频率

 6)可定制性强:ChannelPipeline基于责任链模式开发,便于拦截、扩展

 7)提供大量工厂类、工具类

4

Netty在车联网平台项目中的使用


Netty逻辑架构图


Netty在物联网中的应用

Netty数据流转


                             编码解码                                                        

1.Netty提供的辅助类

  ByteToMessageDecoder

  MessageToByteEncoder<T>

  MessageToMessageDecoder<T>

  MessageToMessageEncoder<T>

2.Netty自带的解码器

  LineBasedFrameDecoder

  DelimiterBasedFrameDecoder

  FixedLengthFrameDecoder

  LengthFieldBasedFrameDecoder

  自定义解码器-万能解决方案

车联网架构

                                       

致敬那些年踩过的坑

match

  1.Decoder &encoder要成对出现

  2.Decoder时先把字节流解码成POJO,避免在一个业务handler里即解码又处理业务逻辑

  3.业务处理不要跟io在同一个线程

  4.业务处理涉及到通道操作一定要有异步思想

  5.调试时建议开启LoggingHandler(LogLevel.INFO)

  6.在解包时建议设置最大有效数据帧长度

  7.一旦有异常发生建议关闭通道

以上是关于Netty在物联网中的应用的主要内容,如果未能解决你的问题,请参考以下文章

应用在物联网中的LPWAN有哪些优势

无线压力变送器在物联网领域中的应用!

迅为4412开发平台Zigbee模块在物联网智能家居中的应用

在物联网中应用机器学习

一文看懂蓝牙在物联网中的应用场景

基于模型设计(Model-Based Design)方法在物联网中的应用