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

中文响应式网站模板网上在线看视频为什么卡

中文响应式网站模板,网上在线看视频为什么卡,深圳物流公司招聘,深圳做网站靠谱乐云seo十年1.MINA框架简介 MINA(Multipurpose Infrastructure for Network Applications)是用于开发高性能和高可用性的网络应用程序的基础框架。通过使用MINA框架可以可以省下处理底层I/O和线程并发等复杂工作,开发人员能够把更多的精力投入到业务设计和开发当中。…
1.MINA框架简介 
MINA(Multipurpose Infrastructure for Network Applications)是用于开发高性能和高可用性的网络应用程序的基础框架。通过使用MINA框架可以可以省下处理底层I/O和线程并发等复杂工作,开发人员能够把更多的精力投入到业务设计和开发当中。MINA框架的应用比较广泛,应用的开源项目有Apache Directory、AsyncWeb、Apache Qpid、QuickFIX/J、Openfire、SubEthaSTMP、red5等。MINA框架当前稳定版本是1.1.6,最新的2.0版本目前已经发布了M1版本。 
MINA框架的特点有:基于java NIO类库开发;采用非阻塞方式的异步传输;事件驱动;支持批量数据传输;支持TCP、UDP协议;控制反转的设计模式(支持Spring);采用优雅的松耦合架构;可灵活的加载过滤器机制;单元测试更容易实现;可自定义线程的数量,以提高运行于多处理器上的性能;采用回调的方式完成调用,线程的使用更容易。 

2.MINA框架的常用类 
类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[pos=0 lim=2 cap=2048: 0D 0A] 接收收到回车符 
Message written... 
2008-2-21 16:20:14 org.apache.MINA.filter.logging.LogLevel$4 log 
信息: SENT: HeapBuffer[pos=0 lim=29 cap=30: 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[pos=0 lim=0 cap=0: 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.lbrq.cn/news/2520757.html

相关文章:

  • 义乌网站建设设互联网营销的优势
  • 饰品网站建设东莞seo搜索
  • 网站 无限下拉菜单公众号运营
  • 网站建设交接表镇江seo优化
  • 淘宝客聚惠购的网站怎么做广州网站优化步骤
  • html5网站制作教程百度网页翻译
  • 酒店 手机网站模板网上代写文章一般多少钱
  • 做网站需要招聘内容郑州seo关键词优化公司
  • 綦江建站哪家正规网站制作策划书
  • 做go分析的网站百度搜题
  • 大同网站建设开发营销策略
  • 邢台百度爱采购一键关键词优化
  • h5素材做多的网站新网站秒收录技术
  • 高端网站建设联系方式怎样策划一个营销型网站
  • 0基础做网站用什么语言线上推广员是做什么的
  • 赚钱网站如何做手机百度官网
  • 如何做网站平台关注百度网址大全
  • 那个网站可以做软件出售的浙江网络推广公司
  • 沈阳网站建设专家推广计划怎么做推广是什么
  • 有什么网站可以做微信支付宝长春seo整站优化
  • 如何做部落冲突网站网站关键词排名手机优化软件
  • html代码做的网站定制型营销网站建设
  • 给别人做网站收钱违法吗网络推广软件哪个好
  • vb怎么做网站网络营销的八大职能
  • wordpress学校站模板国外网站seo
  • 哪个云服务器便宜又好seo搜索引擎优化岗位要求
  • 网站建设进度说明爱站查询工具
  • 建立个人博客网站搜索引擎优化的例子
  • 车公庙做网站盘古搜索
  • 北京市人大网站建设杭州seo营销
  • 20250730在荣品的PRO-RK3566开发板的Android13下调通敦泰的FT8206触控芯片【I2C的挂载】
  • RNN、LSTM、Transformer推荐博文
  • React 中获取当前路由信息
  • 企业高性能web服务器
  • haproxy应用详解
  • 内存分页机制分析在海外VPS系统的测试流程