GithubHelp home page GithubHelp logo

lzfd / ext-opensource-netty Goto Github PK

View Code? Open in Web Editor NEW

This project forked from xjc-opensource/ext-opensource-netty

0.0 0.0 0.0 421 KB

License: Mozilla Public License 2.0

Java 74.89% HTML 2.61% JavaScript 22.50%

ext-opensource-netty's Introduction

项目介绍

基于Netty框架,提供对MQTT、WebSocket等协议的服务端与客户端的封装 (易伸缩、易扩展)

  • MQTT服务器 (核心实现、可扩展消息存储、可集群、可处理消息)
  • MQTT客户端 (核心实现、可扩展消息存储)
  • WebSocket服务器 (核心实现、可处理消息)
  • WebSocket客户端 (核心实现)

项目结构

ext-opensource-netty
  ├── ext.opensource.redis  -- redis公用
  ├── netty-client          -- MQTT客户端 、WebSocket客户端等核心实现
  ├── netty-client-example  -- MQTT客户端 、Websocket客户端等扩展用例
  ├── netty-common          -- 公共类及其它
  ├── netty-server          -- MQTT服务器 、Websocket服务器等核心实现
  ├── netty-server-example  -- MQTT服务器 、Websocket服务器扩展用例

开发规范

  • IDE: Eclipse + Lombok + JDK1.8 + Maven
  • 应用技术: netty、 spring boot、 redis、 ignite、 kafka.
  • 代码质量: Spotbugs
  • 代码规范: 阿里代码插件

开发配置

  • 源码格式要求,导入standard目录下的代码格式文件至IDE中.
    eclipse添加自定义用户名: 在eclipse.ini 中 -vmargs下面
    添加一行 -Duser.name=您的名字
  • 代码简化插件: Lombok
      1. 将maven本地包对应的lombok.jar 复制到 eclipse.ini 所在的文件夹目录下
      1. 打开 eclipse.ini ,在最后面插入以下两行并保存.
        -Xbootclasspath/a:lombok.jar
        -javaagent:lombok.jar
    • 3.重启 eclipse

Socket通信

  • 数据粘包
  • 数据拆包
  • 数据验证
  • 数据安全
  • 数据序列化
  • 鉴权
  • 心跳
  • 重连

Todo List

  • MQTT监控
  • MQTT管理
  • 订阅通配符支持

参考资料

link:
weixin: chinaxjc208

ext-opensource-netty's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.