spingboot整合netty实现单聊整合实现
在前几篇中,我们完成了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实现单聊整合实现相关推荐
- 在线聊天室的消息单聊的实现——springboot整合WebSocket(二)
一.声明 项目的搭建请大家移步到:在线聊天室的消息群聊的实现--springboot整合WebSocket(一) 单聊的实现是在群聊项目上进行延申改造的. 二.引入依赖 <dependency& ...
- Springboot+netty+websocket 实现单聊群聊及用户鉴权
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.配置 二.Netty服务 1. WsServer构建 2. ChannelInitializer构建 3. 自定义 ...
- Springboot整合Netty,实现Socket通信
文章目录 *Springboot整合Netty,实现Socket通信* 1.模拟单客户端 2.模拟单服务端 总结 Springboot整合Netty,实现Socket通信 1.模拟单客户端 引入Net ...
- 关于SpringBoot整合Netty客户端和服务端实现JT808协议
关于SpringBoot整合Netty客户端和服务端实现JT808协议 最近做了一个使用netty实现交通部JT808协议的项目,对比了mina和netty两种框架的使用,先整理一下netty的实现过 ...
- 【ReactJs+springBoot项目——租房】第6章:MongoDB入门+SpringBoot整合MongoDB+搭建微聊系统+实现微聊功能
MongoDB入门 MongoDB的java api的使用 SpringBoot整合MongoDB使用 搭建微聊系统 实现微聊功能 分布式WebSocket解决方案分析 1.MongoDB入门 1.1 ...
- Spring Boot 整合 Netty(附源码)
前言 本篇文章主要介绍的是SpringBoot整合Netty以及使用Protobuf进行数据传输的相关内容.Protobuf会简单的介绍下用法,至于Netty在之前的文章中已经简单的介绍过了,这里就不 ...
- 三分钟构建高性能 WebSocket 服务 | 超优雅的 SpringBoot 整合 Netty 方案
前言 每当使用SpringBoot进行Weboscket开发时,最容易想到的就是spring-boot-starter-websocket(或spring-websocket).它可以让我们使用注解, ...
- maven netty 配置_SpringBoot整合Netty(附源码)
前言 本篇文章主要介绍的是SpringBoot整合Netty以及使用Protobuf进行数据传输的相关内容.Protobuf会简单的介绍下用法,至于Netty在之前的文章中已经简单的介绍过了,这里就不 ...
- Springboot整合netty实战
本文来简单说下Springboot如何来整合netty 文章目录 概述 概述
最新文章
- android4.4 添加快捷开关(以截屏为例)
- 5、catch中发生了未知异常,finally代码块如何应对?
- Ext.data.GroupingStore
- 【Linux 内核】Linux 内核体系架构 ( 进程调度 | 内存管理 | 中断管理 | 设备管理 | 文件系统 )
- python爬取股票实时价格_【美股量化00篇】Python获取新浪接口美股实时数据
- XML Schema全接触 (这里主要介绍W3C的Schema标准语法)
- MySql 服务名无效
- 诺基亚计划推出高档触摸屏手机以对抗iPhone
- python 制定识别图片的某些区域_python批量识别图片指定区域文字内容
- 原生 遍历_迭代器模式统一集合的遍历方式
- 转帖:DotNet 资源大全中文版
- 极风云五里界IDC数据中心架构方案
- 电脑重装系统步骤图解,简单安全一目了然
- 【反射机制】与 【xml解析 】之 巧夺天工 —————— 开开开山怪
- matlab定义双精度型变量_matlab双精度浮点数编码及区间覆盖(原创)
- 关于vue 动态引入(异步加载import和require)组件的方法和坑(按需懒加载组件,动态生成路由)babel-plugin-dynamic-import-node 优化编译速度
- 弘辽科技:如何获取淘宝推广链接?有哪些推广方法?
- python扇贝单词书,学习猿地-python 爬虫,爬取扇贝单词网单词
- 【虚拟终端工具】SecureCRT工具连接虚拟机、rz/sz传输、中文乱码问题解决
- 网络和多媒体知识(2)