maven_spring mvc_mina_dome(实体,文件,批传)(spring mina 初学dome)
看我们群里经常有人在问mina心跳问题,虽然俺是菜鸟可是觉得挺简单的啊,就写了个dome,希望大家多多提意见。
俺做过一段时间网络协议。所以觉得挺简单的吧。哎呀,反正技术就那样了没啥难的。
废话不多说了,附上项目,需要的人down下来跑一下吧。maven构建的,只要jar都down下来了,我想跑就没问题。本来不太习惯写注释,还是特意添加了些。
mina的好处:自己搜了,俺是菜鸟嘛,也没用几次,就觉得mina的异步io(不用为每个连接创建线程),事件驱动(不懂就搜,我也不太懂反正就是好)还挺好的。
说说思路吧:
第一步:将 文件/json/……装入实体,所有你想传输的都可以装入实体(注意大文件不适合,因为内存溢出问题,非要传就该边读边写了。mina也支持udp传输,大文件传输我这就不实现了),实体最好分head和body,
head:放数据包基本信息(比如:一个完整数据包总长度,数据类型(心跳包/数据包/大文件/身份认证等)),
body:放具体的数据类容。
第二步:hander将封装好的实体交由编码工厂(过滤器链),mina有基本的编码器需要自己添加,但通常是不能够满足我们需求的,所以通常自己实现编码器并加入过滤链中。
第三步:解码(顾名思义就是将接收的数据包转换成实体。编码工厂包含编解码,注意解码顺序,先放进去的想取出来,也就是先进先出原则)。
第四步:过滤链跑完后将实体交由hander,自己在根据具体的业务需求完成进一步的操作,到此整个mina的工作就完成了。
我也很少写博客,就快过年了嘛,公司也没啥事,就写个了,写到这才发觉没发上床附近,尻尻尻…………………………………….
只有上传到网盘里,需要的去下吧,有什么不好需要改进的欢迎留言:http://pan.baidu.com/s/1gd5NA5l
本项目实现了:实体、文件、批量传输
使用说明:本项目是maven构建自己看着办,目地是与spring集成所以顺便搞成spring mvc的了,所以运行环境最好是tomcat了,其他web服务器没测过啊,
里面包含j2se的servicemina类可以直接运行,看需要了。某些地方的注释可以取消或添加方便测试心跳了,自己试吧。
over
maven_spring mvc_mina_dome(实体,文件,批传)(spring mina 初学dome)的更多相关文章
- Ajax实现文件上传(Spring MVC)
## 前端表单 和 JQuery jsp/html代码 使用JQuery <script src="static/js/jquery-3.4.1.js"></sc ...
- 分布式文件上传 spring boot + fastdfs + dropzone
1.首先安装fastDFS 参考链接: https://www.funtl.com/zh/spring-cloud-itoken-codeing/%E5%88%86%E5%B8%83%E5%BC%8F ...
- spring mvc文件上传(单个文件上传|多个文件上传)
单个文件上传spring mvc 实现文件上传需要引入两个必须的jar包 1.所需jar包: commons-fileupload-1.3.1.jar ...
- 文件上传和下载(可批量上传)——Spring(二)
针对SpringMVC的文件上传和下载.下载用之前“文件上传和下载——基础(一)”的依然可以,但是上传功能要修改,这是因为springMVC 都为我们封装好成自己的文件对象了,转换的过程就在我们所配置 ...
- Spring Boot 文件上传原理
首先我们要知道什么是Spring Boot,这里简单说一下,Spring Boot可以看作是一个框架中的框架--->集成了各种框架,像security.jpa.data.cloud等等,它无须关 ...
- 补习系列(11)-springboot 文件上传原理
目录 一.文件上传原理 二.springboot 文件机制 临时文件 定制配置 三.示例代码 A. 单文件上传 B. 多文件上传 C. 文件上传异常 D. Bean 配置 四.文件下载 小结 一.文件 ...
- SpringMVC框架06——文件上传与下载
1.文件上传 Spring MVC框架的文件上传是基于commons-fileupload组件的文件上传,只不过Spring MVC框架在原有文件上传组件上做了进一步封装,简化了文件上传的代码实现. ...
- SpringMVC 文件上传&拦截器&异常处理
文件上传 Spring MVC 为文件上传提供了直接的支持,这种支持是通过即插即用的 MultipartResolver 实现的.Spring 用 Jakarta Commons FileUpload ...
- SpringMVC(三)-- 视图和视图解析器、数据格式化标签、数据类型转换、SpringMVC处理JSON数据、文件上传
1.视图和视图解析器 请求处理方法执行完成后,最终返回一个 ModelAndView 对象 对于那些返回 String,View 或 ModeMap 等类型的处理方法,SpringMVC 也会在内部将 ...
随机推荐
- cocoapods使用一直Updating local specs repositories的解决方案
pod install 换成pod install --verbose --no-repo-update这个命令,前面的命令被墙了 ,<pre id="best-content-226 ...
- 外媒速递:十大最佳心理学概念助你提升Web设计效果
外媒速递是核子可乐精选的近日国外媒体的精彩文章推荐,希望大家喜欢! 本期给大家推荐的是帮助你提升Web设计效果的十大最佳心理学概念.改善企业云环境协作效率的九款卓越工具.选择移动应用开发工具时要考虑的 ...
- freemaker时间格式转换,精确到毫秒
在开发中,需要将时间以 2016-09-20 12:00:01:723 的形式里用freemaker展示在页面上,找了好久,终于找到了答案. "createTime":" ...
- C#获得类的方法和方法参数
Type t = typeof(CommonController); StringBuilder str = new StringBuilder(); MethodInfo[] methors = t ...
- 用FileInputStream读取数据,计算机如何实现将两个字节拼接成中文的?
package itcast_02; import java.util.Arrays; /* * 在计算机中如何识别将连个字节转换为中文的呢? * 在计算机中中文的存储为两个字节 : * 第一个字节 ...
- wcf开启服务 HTTP 无法注册 URL 进程不具有此命名空间的访问权限
HTTP 无法注册 URL [url]http://127.0.0.1:9999/calculatorservice/metadata[/url].进程不具有此命名空间的访问权限 今天按照网上的例子开 ...
- Log4j源代码学习
了解log4j的源代码来源于项目中一次需求,我们想将系统所有的warn日志统一收集到common-warn.log的日志中去,以便于系统对其进行监控处理.于是模拟自动生成的error配置完成了warn ...
- [poj1679]The Unique MST(最小生成树)
The Unique MST Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 28207 Accepted: 10073 ...
- RealSense开发-搭建C#开发环境
一.前言 RealSense的开发环境主要包括如下几部分: 硬件:RealSense摄像头(此处以SR300为例)+搭载Intel酷睿6代处理器的PC机(其实4代处理器也能跑起来): 软件:Windo ...
- road习题(一)
答案:[D] 答案:[C] 分析需要靠人 答案:[B] 答案:[B] c语言本身支持自定义函数 答案:[B] Virtual User Generator:是一个脚本开发组件 说白了就是虚拟机用户发生 ...