- 1、本文档共53页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
远程通信 Mina2
学习笔记
引言 1
一. Mina入门 2
第一步.下载使用的Jar包 2
第二步.工程创建配置 2
第三步.服务端程序 3
第四步.客户端程序 6
第五步.长连接VS短连接 8
二. Mina基础 9
1.IoService接口 10
2.1.1 类结构 11
2.1.2 应用 12
2.IoFilter接口 14
2.2.1 类结构 14
2.2.2 应用 16
添加过滤器 16
自定义编解码器 17
制定协议的方法: 19
IoBuffer常用方法: 19
Demo1:模拟根据文本换行符编解码 20
Demo2:改进Demo1的代码 22
Demo3:自定义协议编解码 31
3.IoHandler接口 50
三. Mina实例 50
四. 其他 50
引言
最近使用Mina开发一个Java的NIO服务端程序,因此也特意学习了Apache的这个Mina框架。
首先,Mina是个什么东西?看下官方网站(/)对它的解释:
Apache的Mina(Multipurpose Infrastructure Networked Applications)是一个网络应用框架,可以帮助用户开发高性能和高扩展性的网络应用程序;它提供了一个抽象的、事件驱动的异步API,使Java NIO在各种传输协议(如TCP/IP,UDP/IP协议等)下快速高效开发。
Apache Mina也称为:
NIO框架
客户端/服务端框架(典型的C/S架构)
网络套接字(networking socket)/downloads.html 下载 mina2.0.1.zip,解压获得mina-core-2.0.0-M1.jar
登录 /download.html 下载slf4j1.5.2.zip,解压获得slf4j-api-1.5.2.jar 与 slf4j-log4j12-1.5.2.jar
添加Log4j的jar包,注意如果使用slf4j-log4j12-XXX.jar,就需要添加log4j1.2.X。我这里使用的是log4j-1.2.14.jar (Logger配置详情参见
/first-steps.html )
OK,4个jar都完备了。
第二步.工程创建配置
创建一个Java Project(默认使用UTF-8编码格式),添加perties
log4j.rootLogger=DEBUG,MINA,file
log4j.appender.MINA=org.apache.log4j.ConsoleAppender
log4j.appender.MINA.layout=org.apache.log4j.PatternLayout
log4j.appender.MINA.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss,SSS} %-5p %c{1} %x - %m%n
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=./log/minademos.log
log4j.appender.file.MaxFileSize=5120KB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[VAMS][%d] %p | %m | [%t] %C.%M(%L)%n
第三步.服务端程序
创建一个简单的服务端程序:(服务端绑定3005端口)
public class Demo1Server {
private static Logger logger = Logger.getLogger(Demo1Server.class);
private static int PORT = 3005;
public static void main(String[] args) {
IoAcceptor acceptor = null;
try {
// 创建一个非阻塞的server端的Socket
acceptor = new NioSocketAcceptor();
// 设置过滤器(使
您可能关注的文档
- Beckhoff in BA_cn.ppt
- Byteflight总线.ppt修改.ppt
- MES精益制造系统学习资料精选.ppt
- c++红黑树.ppt
- B系列整理.docx
- 重大危险源监控措施方案(完整)分解.doc
- 重点信息化产品卖点、推广措施及要求分解.ppt
- 工作分析-5应用.ppt
- CA6140车床杠杆_说明书.doc
- 重力式混凝土挡土墙施工方案8.26分解.doc
- 2025年重庆电讯职业学院单招(语文)测试题库必威体育精装版.docx
- 2025年海南健康管理职业技术学院单招(语文)测试题库附答案.docx
- 2025年开封职业学院单招(语文)测试模拟题库附答案.docx
- 2025年云南省思茅市单招语文测试题库附答案.docx
- 2025年西安高新科技职业学院单招(语文)测试题库附答案.docx
- 2025年河南省焦作市单招语文测试题库必威体育精装版.docx
- 2025年青海省玉树藏族自治州单招(语文)测试题库必威体育精装版.docx
- 2025年广东环境保护工程职业学院单招(语文)测试题库附答案.docx
- 2025年福建省龙岩单招(语文)测试题库附答案.docx
- 2025年无锡商业职业技术学院单招(语文)测试模拟题库必威体育精装版.docx
文档评论(0)