Apache Mina(二)】的更多相关文章

在mina的源码,整个框架最核心的几个包是 : org.apache.mina.core.service :IoService.IoProcessor.IoHandler.IoAcceptor.IoConnector org.apache.mina.core.session org.apache.mina.core.polling org.apache.mina.transport.socket IoService :Base interface for all IoAcceptors and…
Apache MiNa 实现多人聊天室 开发环境: System:Windows JavaSDK:1.6 IDE:eclipse.MyEclipse 6.6 开发依赖库: Jdk1.4+.mina-core-2.0.4.jar.slf4j-api-1.5.11.jar.slf4j-log4j12-1.5.11.jar Email:hoojo_@126.com Blog:http://blog.csdn.net/IBM_hoojo http://hoojo.cnblogs.com/ http://…
Apache Mina开发手冊之四 作者:chszs,转载需注明. 博客主页:http://blog.csdn.net/chszs 一.Mina开发的主要步骤 1.创建一个实现了IoService接口的类 IoService接口有两个子接口:1)IoAcceptor接口,用于server2)IoConnection接口,用于client IoService接口的目的是提供服务.有几个默认实现:NioDatagramAcceptor.NioDatagramConnectorNioSocketAcc…
一.mina是啥 ApacheMINA是一个网络应用程序框架,用来帮助用户简单地开发高性能和高可扩展性的网络应用程序.它提供了一个通过Java NIO在不同的传输例如TCP/IP和UDP/IP上抽象的事件驱动的异步API.(这是官方文档的翻译) 二.mina可以干啥 现在要用mina写一个服务器和一个客户端通过TCP/IP协议通信的入门实例. 三.mina怎么做到 官方文档上有一幅图画得很好,是关于mina架构的,这里贴上来看一下: 基本上就是这样,一个请求过来,通过IoService,IoSe…
原文链接:http://www.cnblogs.com/xuekyo/archive/2013/03/06/2945826.html Apache Mina是一个能够帮助用户开发高性能和高伸缩性网络应用程序的框架.它通过Java nio技术基于TCP/IP和UDP/IP协议提供了抽象的.事件驱动的.异步的API. Apache MINA 是一个网络应用框架,有助于用户非常方便地开发高性能.高伸缩性的网络应用.它通过Java NIO提供了一个抽象的.事件驱动的.异步的位于各种传输协议(如TCP/I…
Apache MINA is a network application framework which helps users develop high performance and high scalability network applications easily. Apache MINA是一个网络应用框架,这个框架帮助用户容易的开发高性能和高可扩展行的应用程序 It provides an abstract event-driven asynchronous API over va…
这个教程是介绍使用Mina搭建基础示例.这个教程内容是以创建一个时间服务器. 以下是这个教程需要准备的东西: MINA 2.0.7 Core JDK 1.5 或更高 SLF4J 1.3.0 或更高 Log4J 1.2 用户: slf4j-api.jar, slf4j-log4j12.jar, 和Log4J 1.2.x Log4J 1.3 用户: slf4j-api.jar, slf4j-log4j13.jar, 和Log4J 1.3.x java.util.logging 用户: slf4j-a…
Apache Mina ,一个高性能 Java 异步并发网络通讯框架.利用 Mina 可以高效地完成以下任务: TCP/IP 和 UDP/IP 通讯 串口通讯 VM 间的管道通讯 SSL/TLS JXM 集成 IoC 容器集成( Spring . Pico 等) 状态机 Mina 的 API 当前主要有三个分支,分别是: 2.0.x 目前处于 SVN trunk 上的版本, Mina 社区对该版本的 API 进行了全新的设计 1.1.x 为当前用于产品开发的版本,适用于 5.0 以上的 JDK…
源码下载 http://www.apache.org/dyn/closer.cgi/mina/mina/2.0.9/apache-mina-2.0.9-src.tar.gz 整体架构 核心过程(IoAcceptor 与 IoConnector通讯) 客户端: 1)通过SocketConnector同服务器端建立连接. 2)链接建立之后I/O的读写交给了I/O Processor线程,I/O Processor是多线程的. 3)通过I/O Processor读取的数据经过IoFilterChain…
Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架.当前发行的 MINA 版本支持基于 Java NIO 技术的TCP/UDP 应用程序开发.串口通讯程序. Mina 的应用层: 一个设计成熟的开源框架,总是会仅可能的减少侵入性,并在整个项目中找到合适的位置,而不应对整个项目的构架设计产生过多的影响,图 1 就是 MIN…
我们可以了解到 mina是个异步通信框架,一般使用场景是服务端开发,长连接.异步通信使用mina是及其方便的.不多说,看例子. 本次mina 使用的例子是使用maven构建的,过程中需要用到的jar包如下: <!-- mina --><dependency> <groupId>org.apache.mina</groupId> <artifactId>mina-integration-beans</artifactId> <ve…
俩种情形,第一种是开始连接时候就没连上服务器:第二种是服务器关闭连接,出现的异常: 第一种: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.…
Mina第一次听到这个名称的时候,我以为是个MM的名字米娜,后来才知道… Apache MINA(Multipurpose Infrastructure for Network Applications) 官网http://mina.apache.org/ 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架.当前发行的 MINA 版本支持基于 Java NIO 技术的 TCP/UDP 应用程序开发.串口通讯程序(只在最新的预览版中提供),MINA 所…
摘要 心跳协议,对基于CS模式的系统开发来说是一种比较常见与有效的连接检测方式,最近在用MINA框架,原本自己写了一个心跳协议实现,后来突然发现MINA本身带有这样一个心跳实现,感于对框架的小小崇拜,在实践的同时研究了一下! MINA TCP/IP SOCKET 心跳 MINA本身提供了一个过滤器类: org.apache.mina.filter.keepalive . KeepAliveFilter ,该过滤器用于在IO空闲的时候发送并且反馈心跳包(keep-alive request/res…
使用MINA框架搭建服务端步骤: 1.定义一个启动服务的类MinaServer,并实现接口ServletContextListener 2.定义一个处理业务逻辑的类MinaServerHandler,并继承类IoHandlerAdapter 类MinaServer代码例如以下: import java.net.InetSocketAddress; import javax.servlet.ServletContextEvent; import javax.servlet.ServletConte…
转自1:整体结构分析 http://www.cnblogs.com/xuekyo/archive/2013/03/06/2945826.html 转自2:详细源码分析 http://www.cnblogs.com/xuekyo/archive/2013/03/08/2950644.html Mina设计基础简介 Apache Mina是一个能够帮助用户开发高性能和高伸缩性网络应用程序的框架.它通过Java nio技术基于TCP/IP和UDP/IP协议提供了抽象的.事件驱动的.异步的API. Mi…
Apache MINA 是一个用于简化开发构建高性能.高可扩展的网络应用框架.通过JAVA NIO在各种传输协议(如:TCP/IP.UDP/IP)上提供抽象的事件驱动异步API Apache MINA可以称为:NIO框架库.服务端客户端框架库.一个网络套接字库 特性 为各种传输协议提供统一API 提供类似servlet filter的过滤链路支持 可定制化线程模型 开箱即用的 SSL · TLS · StartTLS 超载保护和传输流量控制 易于集成(如:与Spring集成) 可平滑过渡到Net…
身份验证 即在应用中谁能证明他就是他本人.一般提供如他们的身份ID一些标志信息来表明他就是他本人,如提供身份证.用户名.密码来证明 在shiro中,用户需要提供principals(身份)和credentials(证明)给Shiro,从而应用能验证用户身份: principals:身份,即主体的标识属性,可以是任何东西,如用户名.邮箱等,唯一即可,一个主体可以有多个principals,但是只能有一个Primary Principals,一般是用户名.密码/手机号 credentials:证明/…
数据库支持 在上一篇中使用ini 配置文件进行了相关权限数据的配置. 但是实际工作中,我们都会把权限相关的内容放在数据库里. 所以本知识点讲解如何放在数据库里来撸. RBAC 概念 RBAC 是当下权限系统的设计基础,同时有两种解释: 一: Role-Based Access Control,基于角色的访问控制 即,你要能够删除产品,那么当前用户就必须拥有产品经理这个角色 二:Resource-Based Access Control,基于资源的访问控制 即,你要能够删除产品,那么当前用户就必须…
反向代理负载均衡之APACHE 一.反向代理1.1 介绍反响代理 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器. 1.2 反向代理的工作方式 通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中.由…
Mina介绍 Mina可以用于快速的开发基于网络通信的应用,特别是在开发手机端的游戏应用时,使用的较为普遍.本文简单介绍了一个用Mina搭建的一个简易讨论组,通过该应用可以对Mina的基本用法用途有个大致的了解. 界面效果 界面元素不多,使用了两个AWT组件. 客户端1: 客户端2: 服务端日志: 核心代码 服务端Handler 1: /** 2: * <服务端消息Handler> 3: * 4: * @author liping.action@gmail.com 5: * @version…
Apache的基本配置 1.监听套接字[ip : port] 2.实现持久连接(keep alive) 3.MPM模块 命令行中执行 core.c        :  核心模块 prefork.c    :  prefrok模块 http_core.c:  http核心模块 mod_so.c   :  支持动态DSO机制模块 注: httpd –l :显示支持的非DSO模块 httpd -m:显示已装载的DSO模块 prefork模型的参数 <IfModule prefork.c>      …
上一篇试着进行了solr的安装和配置,以及如何solr的检索,今天试着简单的将solr连接MySQL数据库(才尝试了单表.一对多和多对多的还有待研究) 1.MySQL的目录结构 2.新建一个democore 3.在solr服务器http://localhost:8983/solr可视化页面上新建core和field,field和MySQL数据库的字段字段一一对应 4.配置solrconfig.xml,将data-config.xml配置在我们定义的core里,其中,data-config.xml…
1.ip/pv/uv(用来统计网站被访问情况) ip:表示该网站一天被多少ip访问过,一天一个ip之算做一次. pv:表示页面被访问的次数 uv:独立访客,一个用户就是一个uv. 2.创建虚拟主机 利用虚拟主机功能,可以把一台处于运行状态的物理服务器分割成多个“虚拟的服务器”. Apache的虚拟主机功能是服务器基于用户请求的不同主机域名或端口号,实现提供多个网站同时为外部提供访问服务的技术,用户请求的资源不同,最终获取到的网页内容也各不相同. 3.创建基于端口号的虚拟主机 1)编辑apache…
Mina中的过滤器处于IoService与IoHandler之间,用于过滤每一个I/O事件.本文分析Mina中的过滤器是怎么串起来的? 前面提到了IoFilter,FilterChain等接口和类,在分析过滤器链怎么串起来之前,有必要看一下这些接口和类之间的关系. 如上图所示: FilterChain是由一个个Entry串起来的,EntryImpl是Entry的实现: 从EntryImpl中可以获取到Filter与NextFilter,NextFilter相当于那根线(指针): 有两个特殊的En…
实验目标 1.使用SaltStack部署apache和php, 2.使用salt管理httpd.conf配置文件配置访问info.php使用账户密码 3.在salt里面增加对conf.d目录进行配置管理 4.如何使用salt在追加文件内容 5.学会如何使用 watch require unless 实现步骤 修改master的配置文件,指定base环境路径,base环境是必须指定的 [root@linux-node1 base]# ^file_roots /etc/salt/master |gr…
1 MYSQL中的字符集概念  Mysql的字符集里有两个概念,一个是"Character set(字符集)",另一个是"Collations".1.1 Collations   Collations翻成中文是"校验",在网页开发的过程中,这个词汇,只在Mysql里使用,主要作用是指导Mysql对字符的比较,比如, ASCII字符集里,Collations规定了a小于b,a等于a,以及a是否等于A之类的.通常,大家基本可以忽略Collations…
DefaultSocketSessionConfig 类 extends AbstractSocketSessionConfig extends AbstractIoSessionConfig implements SocketSessionConfig,IoSessionConfig protected IoService parent; private boolean defaultReuseAddress; private boolean reuseAddress; //接受数据缓冲区大小…
NioSocketAcceptor 继承AbstractPollingIoAcceptor,实现SocketAcceptor接口 public final class NioSocketAcceptor extends AbstractPollingIoAcceptor<NioSession, ServerSocketChannel> implements SocketAcceptor {} 成员变量: private volatile Selector selector; volatile…
IoHandler 具备以下几个功能: sessionCreated sessionOpened sessionClosed sessionIdle exceptionCaught messageReceived messageSent…