1 Star 1 Fork 27

asmd / netmc

forked from 剑器近 / netmc 
加入 Gitee
与超过 600 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README.md

基于Netty实现Mvc开发模式的框架

特性

  • 基于Netty,实现传统的MVC开发方式

场景

  • TCP协议服务端开发

代码仓库

下载方式

  • Gitee下载命令:git clone https://gitee.com/yezhihao/netmc -b master
  • Github下载命令:git clone https://github.com/yezhihao/netmc -b master

项目结构

└── framework
    ├── codec 编码解码
    ├── core 消息分发、处理
    └── session 消息发送和会话管理

使用说明

  • @Endpoint,服务接入点,等价SpringMVC的 @Controller;
  • @Mapping,定义消息ID,等价SpringMVC中 @RequestMapping;
  • @AsyncBatch, 异步批量消息,对于并发较高的消息,如0x0200(位置信息汇报),使用该注解,显著提升Netty和MySQL入库性能。

消息接入:

@Endpoint
public class JT808Endpoint {

    @Autowired
    private LocationService locationService;
    
    @Autowired
    private DeviceService deviceService;

    //异步批量处理 队列大小20000 最大累积200处理一次 最大等待时间5秒
    @AsyncBatch(capacity = 20000, maxElements = 200, maxWait = 5000)
    @Mapping(types = 位置信息汇报, desc = "位置信息汇报")
    public void 位置信息汇报(List<T0200> list) {
        locationService.batchInsert(list);
    }

    @Async
    @Mapping(types = 终端注册, desc = "终端注册")
    public T8100 register(T0100 message, Session session) {
        Header header = message.getHeader();

        T8100 result = new T8100(session.nextSerialNo(), header.getMobileNo());
        result.setSerialNo(header.getSerialNo());

        String token = deviceService.register(message);
        if (token != null) {
            session.register(header);

            result.setResultCode(T8100.Success);
            result.setToken(token);
        } else {

            result.setResultCode(T8100.NotFoundTerminal);
        }
        return result;
    }
}

详细的例子请参考Test目录

使用该组件的项目:https://gitee.com/yezhihao/jt808-server/tree/master

项目会不定期进行更新,建议star和watch一份,您的支持是我最大的动力。

如有任何疑问或者BUG,请联系我,非常感谢。

技术交流QQ群:[906230542]

仓库评论 ( 0 )

你可以在登录后,发表评论

简介

基于netty的mvc框架 展开 收起
Java
Apache-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/zhlbk/netmc.git
git@gitee.com:zhlbk/netmc.git
zhlbk
netmc
netmc
master

搜索帮助

141041 ab9339c7 1850385 141043 25c028d5 1850385