项目简介
后端框架:mina通讯框架
技术栈:Java、Android
项目介绍:这是一套基于mina通讯框架实现的基于安卓的视频监控系统,本项目是安卓+JAVA后端技术:
技术原理:
Apache Mina Server是一个网络通信应用框架,主要是对基于TCP/IP、UDP/IP 协议栈的通信框架(当然,也可以提供JAVA对象的序列化服务、虚拟机管道通 信服务等),Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用, Mina提供了事件驱动、异步(Mina 的异步I0默认使用的是JAVA NI0作为底层 支持)操作的编程模型。
实现: 服务端用java mina搭建,客户端利用mina技术和服务端保持长连接通信。
1、在安卓端设置服务器连接IP,保存在本地文件,立即连接后,将session保存
2、在activity中打开摄像头,迅速捕捉每一帧画面,并用session去请求传送给 服务器相关图像数据
3、在mina服务器端的接收方法中,实时向java sw ing图形客户端写入图形数据并刷新动态展示,实现了BS架构的安卓监控平台。
录屏 :√
讲解 :√
文档 :√
项详细目简介
概览-技术原理:
Apache Mina Server是一-个网络通信应用框架,主要是对基于TCP/IP、UDP/IP 协议栈的通信框架(当然,也可以提供JAVA对象的序列化服务、虚拟机管道通 信服务等),Mina可以帮助我们快速开发高性能、高扩展性的网络通信应用, Mina提供了事件驱动、异步(Mina的异步10默认使用的是JAVA NI0作为底层 支持)操作的编程模型。
实现:
服务端用java mina搭建, 客户端利用mina技术和服务端保持长连接通信。
1、在安卓端设置服务器连接IP,保存在本地文件,立即连接后,将session保存
2、在activity中打开摄像头,迅速捕捉每- -帧画面,并用session去请求传送给 服务器相关图像数据
3、在mina服务器端的接收方法中,实时向java swing图形客户端写入图形数据 并刷新动态展示,实现了BS架构的安卓监控平台。
一、服务器端
- 项目结构
me.amrengp.java.monitorserver.main 本地服务器逻辑实现包。 me.amrengp.java.monitorserver.Mina mina工具类,提供各种与mina服务器相关的功能,包括实现mina协议、消息发送、session管理等。 提供图像工具类,提供图片编码转码等功能。 me.amrengp.java.monitorserver.util 提供图片大小缩放、读写图片等功能。
- 服务端描述
服务器端使用Mina通讯框架,在本地开启一个常驻内存带有端口的服务,等待客户端(安卓)连接。 me.amrengp.java.monitorserver.main.AmrenServer 的 96行开始,是循环监听本地是否有客户端连接。 如果有,就把客户端的图像输出到swing图形化界面上。
二、安卓客户端
- 项目结构
com.amrengp.gp.monitor2.Listener 安卓监听实现类。 com.amrengp.gp.monitor2.Mina mina工具类,提供各种与mina服务器相关的功能,包括实现mina协议、消息发送、session管理等。 提供图像工具类,提供图片编码转码等功能。 com.amrengp.gp.monitor2.UI MainActivity.java,项目的主要activity实现。 com.amrengp.gp.monitor2.Util SharedPreferencesUtil.java,提供本地持久化工具方法。 ToastUtil.java,提供通用弹出提示框实现类。
- 客户端描述
打开客户端,会立即打开手机摄像头,并且开始录制,录制的时候开始抓取摄像头图片,当抓取成功, 会开启一个子线程,通过本地配置的服务器端IP地址,使用Mina通讯框架把图片作为消息传输给服务器, 此后循环此操作,即可实现安卓端实时监控画面的展示了。
项目截图