当前位置: 首页 > news >正文

舟山网站建设免费咨询如何让我们的网站新闻被百度新闻收录

舟山网站建设免费咨询,如何让我们的网站新闻被百度新闻收录,江苏建设网,1688货源网登录1#xff0e;MINA框架简介 Netty、Mina、Cindy都是不错的NIO开源框架#xff0c;后两者都是在Netty的基础上演化出来的。MINA(Multipurpose Infrastructure for Network Applications)是用于开发高性能和高可用性的网络应用程序的基础框架。通过使用MINA框架可以可以省下处理… 1MINA框架简介 Netty、Mina、Cindy都是不错的NIO开源框架后两者都是在Netty的基础上演化出来的。MINA(Multipurpose Infrastructure for Network Applications)是用于开发高性能和高可用性的网络应用程序的基础框架。通过使用MINA框架可以可以省下处理底层I/O和线程并发等复杂工作开发人员能够把更多的精力投入到业务设计和开发当中。MINA框架的应用比较广泛应用的开源项目有Apache Directory、AsyncWeb、Apache Qpid、QuickFIX/J、Openfire、SubEthaSTMP、red5等。MINA框架当前稳定版本是1.1.7最新的2.0版本目前已经发布了RC1版本。 MINA框架的特点有基于java NIO类库开发采用非阻塞方式的异步传输事件驱动支持批量数据传输支持TCP、UDP协议控制反转的设计模式支持Spring采用优雅的松耦合架构可灵活的加载过滤器机制单元测试更容易实现可自定义线程的数量以提高运行于多处理器上的性能采用回调的方式完成调用线程的使用更容易。 2MINA框架的常用类 类NioSocketAcceptor用于创建服务端监听 类NioSocketConnector用于创建客户端连接 类IoSession用来保存会话属性和发送消息 类IoHandlerAdapter用于定义业务逻辑常用的方法有 方法 定义 sessionCreated() 当会话创建时被触发 sessionOpened() 当会话开始时被触发 sessionClosed() 当会话关闭时被触发 sessionIdle() 当会话空闲时被触发 exceptionCaught() 当接口中其他方法抛出异常未被捕获时触发此方法 messageRecieved() 当接收到消息后被触发 messageSent() 当发送消息后被触发 3服务端应用开发示例 下面将以MINA2.0M1版本为基础通过一个范例来演示一下如何使用MINA框架进行开发。开发环境为jdk6.0开发工具NetBeans6.0所需jar包slf4j-api.jar、slf4j-jdk14.jar、MINA-core-2.0.0-M1.jar。 首先定义一个业务逻辑处理器TimeServerHandler继承自IoHandlerAdapter实现的功能有当客户端创建会话时会显示客户端设备的IP和端口当客户端输入quit时结束会话客户端输入其它内容时则向客户端发送当前时间。代码如下 public class TimeServerHandler extends IoHandlerAdapter { Override public void sessionCreated(IoSession session) { //显示客户端的ip和端口 System.out.println(session.getRemoteAddress().toString()); } Override public void messageReceived( IoSession session, Object message ) throws Exception { String str message.toString(); if( str.trim().equalsIgnoreCase(quit) ) { session.close();//结束会话 return; } Date date new Date(); session.write( date.toString() );//返回当前时间的字符串 System.out.println(Message written...); } } 再定义一个类MinaTimeServer用来启动服务端 public class MinaTimeServer { private static final int PORT 9123;//定义监听端口 public static void main( String[] args ) throws IOException { IoAcceptor acceptor new NioSocketAcceptor(); acceptor.getFilterChain().addLast( logger, new LoggingFilter() ); acceptor.getFilterChain().addLast( codec, new ProtocolCodecFilter( new TextLineCodecFactory( Charset.forName( UTF-8 ))));//指定编码过滤器 acceptor.setHandler( new TimeServerHandler() );//指定业务逻辑处理器 acceptor.setDefaultLocalAddress( new InetSocketAddress(PORT) );//设置端口号 acceptor.bind();//启动监听 } } 4测试 首先运行MinaTimeServer启动服务端接着在命令行运行“telnet 127.0.0.1 9123”,来登录这时会看到服务端输出如下 2008-2-21 16:15:29 org.apache.MINA.filter.logging.LogLevel$4 log /10.64.2.137:4140 IP和端口号 信息: CREATED 2008-2-21 16:15:29 org.apache.MINA.filter.logging.LogLevel$4 log 信息: OPENED 在客户端输入回车在客户端可以看到服务端返回当前的时间 Thu Feb 21 16:20:14 CST 2008 服务端输出 2008-2-21 16:20:14 org.apache.MINA.filter.logging.LogLevel$4 log 信息: RECEIVED: HeapBuffer[pos0 lim2 cap2048: 0D 0A] 接收收到回车符 Message written... 2008-2-21 16:20:14 org.apache.MINA.filter.logging.LogLevel$4 log 信息: SENT: HeapBuffer[pos0 lim29 cap30: 54 68 75 20 46 65 62 20 32 31 20 31 36 3A 32 30...] 2008-2-21 16:20:14 org.apache.MINA.filter.logging.LogLevel$4 log 信息: SENT: HeapBuffer[pos0 lim0 cap0: empty] 5客户端开发示例 首先定义类TimeClientHandler来处理消息接收事件 class TimeClientHandler extends IoHandlerAdapter{ public TimeClientHandler() { } Override public void messageReceived(IoSession session, Object message) throws Exception { System.out.println(message);//显示接收到的消息 } } 接着定义MinaTimeClient类用于连接服务端并向服务端发送消息 public class MinaTimeClient { public static void main(String[] args) { // 创建客户端连接器. NioSocketConnector connector new NioSocketConnector(); connector.getFilterChain().addLast( logger, new LoggingFilter() ); connector.getFilterChain().addLast( codec, new ProtocolCodecFilter( new TextLineCodecFactory( Charset.forName( UTF-8 )))); //设置编码过滤器 connector.setConnectTimeout(30); connector.setHandler(new TimeClientHandler());//设置事件处理器 ConnectFuture cf connector.connect( new InetSocketAddress(127.0.0.1, 9123));//建立连接 cf.awaitUninterruptibly();//等待连接创建完成 cf.getSession().write(hello);//发送消息 cf.getSession().write(quit);//发送消息 cf.getSession().getCloseFuture().awaitUninterruptibly();//等待连接断开 connector.dispose(); } } 6总结 通过上述示例可以了解到使用MINA框架来开发的网络应用程序代码结构更清晰MINA框架完成了底层的线程管理MINA内置的编码器可以满足大多数用户的需求省去了开发人员消息编码解码的工作。具称使用MINA开发服务器程序的性能已经逼近使用 C/C 语言开发的网络服务。因此建议在网络应用程序开发过程中尝试使用MINA框架来提高我们的开发效率和应用程序的执行效率。 转自 http://www.javaeye.com/topic/166596 参考http://xinsync.xju.edu.cn/index.php/archives/category/prglang/java/mina 转载于:https://www.cnblogs.com/SmileGelila/archive/2010/10/22/2075409.html
http://www.pierceye.com/news/550107/

相关文章:

  • 提供中山精品网站建设建俄语网站哪个公司最好
  • 建设银联官方网站怎样在网站做宣传
  • 网站开发支付宝二维码支付建设网站装配式建筑楼房
  • 湖北系统建站怎么用做网站买一个域名就够了吗
  • 如何做问卷调查网站济南网络公司
  • 纯js做网站Wordpress税
  • 建云科技网站首页阿里云 wordpress 安装
  • 浙江省建设工程协会网站动漫网站的设计与实现
  • wordpress能导出网站吗企业内部网站开发
  • 景观石网站建设方案一 网站开发背景
  • 开发app的平台外贸seo建站
  • 网站界面设计实训报告深圳设计公司办公室
  • 京东网站的公司地址别人网站建设多少钱
  • 如何加快网站打开速度wordpress注册怎样通过邮箱验证码
  • 有关图书网站建设策划书电脑公司网站系统源码
  • 西班牙网站后缀360收录提交入口网址
  • 济宁网站建设工程教育网官网学员登录
  • html5导航网站源码下载wordpress 调用 discuz
  • 住房和城乡建设部网站 投诉有哪些网站可以学做糕点的
  • 电商购物网站m3u8插件 wordpress
  • 河北手机网站制作多少钱wordpress文章头部
  • 悠悠我心的个人网站素材网站建设教育培训
  • 网站建设定金做什么会计分录湘潭有实力的关键词优化公司
  • 网站备案 网站建设方案书云搜索app
  • 青岛网络推广建站民营医院建设网站
  • 罗湖住房和建设局网站wordpress调用内容代码
  • 网络logo设计优化设计七年级下册语文答案
  • 贵港网站seo安新网站建设
  • 网站怎么自己编辑模块创意网名大全
  • php的网站架构建设框架wordpress如何运行