在前几篇中,我们完成了netty和springboot的整合,大致领略了一下netty作为web通讯服务器的魅力,据我所知,netty在不少做聊天应用型的公司里面使用很广泛,主要还是得益于netty底层的实现原理对于高并发性能的良好支持和扩展,以及netty可定制化的API组件和其成熟的使用场景,当然,你也可以选择使用诸如socketJS或者原生的socket来实现聊天的功能,但总体来说都不如netty使用灵活,下面就以springboot整合netty实现一个简单的单聊功能;

首先,在实现功能之前我们先了解一下netty的API中有一个很重要的组件叫做,Handler,在netty服务器的实现中,handler是一个很重要的组件,通俗来说,handler相当于是我们处理客户端消息的一个助手类,或者叫做业务逻辑的补充实现类更贴切,因为netty底层使用的是nio模型,里面有个channel的玩意,

说白了,当netty服务器启动之后,整合交互过程大致是这样,

1、客户端连接成功,netty创建一个和客户端通信的channel,客户端发消息给服务端并不是直接发给服务端,而是发送到channel中,更多的客户端连接服务端时,netty将会开辟更多的channel,这样每个客户端通过这根chanel"管道"就建立了和服务端的联系;

2、客户端发送消息到channel;

3、服务端通过获取这个channel,从channel中收到客服端发来的消息;

spingboot整合netty实现单聊整合实现相关推荐

  1. 在线聊天室的消息单聊的实现——springboot整合WebSocket(二)

    一.声明 项目的搭建请大家移步到:在线聊天室的消息群聊的实现--springboot整合WebSocket(一) 单聊的实现是在群聊项目上进行延申改造的. 二.引入依赖 <dependency& ...

  2. Springboot+netty+websocket 实现单聊群聊及用户鉴权

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.配置 二.Netty服务 1. WsServer构建 2. ChannelInitializer构建 3. 自定义 ...

  3. Springboot整合Netty,实现Socket通信

    文章目录 *Springboot整合Netty,实现Socket通信* 1.模拟单客户端 2.模拟单服务端 总结 Springboot整合Netty,实现Socket通信 1.模拟单客户端 引入Net ...

  4. 关于SpringBoot整合Netty客户端和服务端实现JT808协议

    关于SpringBoot整合Netty客户端和服务端实现JT808协议 最近做了一个使用netty实现交通部JT808协议的项目,对比了mina和netty两种框架的使用,先整理一下netty的实现过 ...

  5. 【ReactJs+springBoot项目——租房】第6章:MongoDB入门+SpringBoot整合MongoDB+搭建微聊系统+实现微聊功能

    MongoDB入门 MongoDB的java api的使用 SpringBoot整合MongoDB使用 搭建微聊系统 实现微聊功能 分布式WebSocket解决方案分析 1.MongoDB入门 1.1 ...

  6. Spring Boot 整合 Netty(附源码)

    前言 本篇文章主要介绍的是SpringBoot整合Netty以及使用Protobuf进行数据传输的相关内容.Protobuf会简单的介绍下用法,至于Netty在之前的文章中已经简单的介绍过了,这里就不 ...

  7. 三分钟构建高性能 WebSocket 服务 | 超优雅的 SpringBoot 整合 Netty 方案

    前言 每当使用SpringBoot进行Weboscket开发时,最容易想到的就是spring-boot-starter-websocket(或spring-websocket).它可以让我们使用注解, ...

  8. maven netty 配置_SpringBoot整合Netty(附源码)

    前言 本篇文章主要介绍的是SpringBoot整合Netty以及使用Protobuf进行数据传输的相关内容.Protobuf会简单的介绍下用法,至于Netty在之前的文章中已经简单的介绍过了,这里就不 ...

  9. Springboot整合netty实战

    本文来简单说下Springboot如何来整合netty 文章目录 概述 概述

最新文章

  1. android4.4 添加快捷开关(以截屏为例)
  2. 5、catch中发生了未知异常,finally代码块如何应对?
  3. Ext.data.GroupingStore
  4. 【Linux 内核】Linux 内核体系架构 ( 进程调度 | 内存管理 | 中断管理 | 设备管理 | 文件系统 )
  5. python爬取股票实时价格_【美股量化00篇】Python获取新浪接口美股实时数据
  6. XML Schema全接触 (这里主要介绍W3C的Schema标准语法)
  7. MySql 服务名无效
  8. 诺基亚计划推出高档触摸屏手机以对抗iPhone
  9. python 制定识别图片的某些区域_python批量识别图片指定区域文字内容
  10. 原生 遍历_迭代器模式统一集合的遍历方式
  11. 转帖:DotNet 资源大全中文版
  12. 极风云五里界IDC数据中心架构方案
  13. 电脑重装系统步骤图解,简单安全一目了然
  14. 【反射机制】与 【xml解析 】之 巧夺天工 —————— 开开开山怪
  15. matlab定义双精度型变量_matlab双精度浮点数编码及区间覆盖(原创)
  16. 关于vue 动态引入(异步加载import和require)组件的方法和坑(按需懒加载组件,动态生成路由)babel-plugin-dynamic-import-node 优化编译速度
  17. 弘辽科技:如何获取淘宝推广链接?有哪些推广方法?
  18. python扇贝单词书,学习猿地-python 爬虫,爬取扇贝单词网单词
  19. 【虚拟终端工具】SecureCRT工具连接虚拟机、rz/sz传输、中文乱码问题解决
  20. 网络和多媒体知识(2)

热门文章

  1. 演示对sys用户和普通用户进行审计的示例
  2. 文件上传~Uploadify上传控件~续(多文件上传)
  3. 一键自动化部署web架构
  4. 【Linux】基础每日一命之cutmvscp命令
  5. 加大Linux服务器的文件描述符
  6. box2dweb 学习笔记--sample讲解
  7. Kubernetes学习笔记之Calico Startup源码解析
  8. leetcode1319. 连通网络的操作次数
  9. BufferedWriter 和 BufferedReader 的基本用法,附演示程序。以及一个复制文本文件的程序
  10. 算法题存档20190304