`

java 高性能网络编程 mina

    博客分类:
  • java
 
阅读更多

服务器端:
    

// 创建一个非阻塞的server端socket ,用NIO
		SocketAcceptor acceptor = new NioSocketAcceptor();

		// 创建接收数据的过滤器
		DefaultIoFilterChainBuilder chain = acceptor.getFilterChain();

		// 设定这个过滤器一行一行(\r\n)的读数据
		chain.addLast("myChin", new ProtocolCodecFilter(
				new TextLineCodecFactory()));

		//设定服务器端的消息处理器,一个SamplMinaServerHandler对象(自己实现)继承IoHandlerAdapter
		acceptor.setHandler(new IoHandlerAdapter(){
			//当一个客端端连结进入时
			@Override
			public void sessionOpened(IoSession session) throws Exception {
				// TODO Auto-generated method stub
				System.out.println("incomming client : "+session.getRemoteAddress());
			}
			
			//当一个客户端关闭时
			@Override
			public void sessionClosed(IoSession session) throws Exception {
				// TODO Auto-generated method stub
				System.out.println("on client disconnect : "+session.getRemoteAddress());
			}

			//当客户端发送的消息到达时
			@Override
			public void messageReceived(IoSession session, Object message)
					throws Exception {
				// TODO Auto-generated method stub
				String s =  (String)message;
				System.out.println("收到客户端发来的消息:"+s);
				//测试将消息回给客户端
				session.write(s+count);
				count ++;
			}
			private int count =0;
		});
		//端口号
		int bindPort= 9988;
		
		//绑定打开,启动服务器
		acceptor.bind(new InetSocketAddress(bindPort));
		
		System.out.println("Mina Server is listing on:="+bindPort);

  
   
   
  客户端:
   

// create TCP/IP connector
		NioSocketConnector connector = new NioSocketConnector();

		// 创建接收数据的过滤器
		DefaultIoFilterChainBuilder chain = connector.getFilterChain();

		// 设定这个过滤器将一行一行(/r/n)的读取数据
		chain.addLast("myChin", new ProtocolCodecFilter(
				new TextLineCodecFactory()));

		// 设定服务器端的消息处理器:一个SamplMinaServerHandler对象,
		connector.setHandler(new IoHandlerAdapter(){
			@Override
			public void messageReceived(IoSession session, Object message)
					throws Exception {
				// 我们己设定了服务器解析消息的规则是一行一行读取,这里就可转为String:
				String s = (String) message;
				// Write the received data back to remote peer
				System.out.println("服务器发来的收到消息: " + s);
				// 测试将消息回送给客户端
				session.write(s);
			}

			@Override
			public void sessionClosed(IoSession session) throws Exception {
				// TODO Auto-generated method stub
				System.out.println("one Clinet Disconnect !");
			}

			@Override
			public void sessionOpened(IoSession session) throws Exception {
				// TODO Auto-generated method stub
				System.out.println("incomming client  " + session.getRemoteAddress());
				session.write("我来啦........");
			}
		});
		
		// Set connect timeout.
		connector.setConnectTimeout(30);
		
		// 连结到服务器:
		ConnectFuture cf = connector.connect(new InetSocketAddress("localhost",
				9988));
		
		// Wait for the connection attempt to be finished.
		cf.awaitUninterruptibly();
		cf.getSession().getCloseFuture().awaitUninterruptibly();
		connector.dispose();

 
   
   
       

分享到:
评论

相关推荐

    高性能网络架构Mina框架 下载

    Mina(Multithreaded Internet Network Application)框架是由Apache软件基金会提供的一个高性能、可伸缩的网络编程框架,它主要应用于Java NIO环境下的网络通信开发。Mina通过采用多线程模型和异步I/O技术来提高...

    高性能Java网络框架 MINA

    Apache MINA(Multipurpose Infrastructure for Network Applications)是一个高性能、异步事件驱动的网络应用程序框架,专为开发基于TCP/IP和UDP/IP协议的应用程序而设计。MINA的目标是简化网络编程,使得开发者...

    高性能Java网络框架 MINA.7z

    MINA(Multipurpose Infrastructure for Network ...如果你需要构建一个高性能的Java网络应用,MINA无疑是一个值得考虑的选择。通过深入学习和使用MINA,开发者可以更好地理解和掌握网络编程的本质,提升开发效率。

    Java在高并发网络编程中的应用

    NIO提供了一种高效处理IO的方式,而Mina和Netty又在此基础上提供了更加简洁和高效的网络编程模型,使得开发者能够轻松地构建出高性能的网络应用。随着网络应用的持续发展,这些技术的应用范围会越来越广泛,对于Java...

    java源码:高性能Java网络框架 MINA.zip

    总而言之,`java源码:高性能Java网络框架 MINA.zip`这个压缩包包含的是MINA框架的源代码,对于希望深入研究Java网络编程、提高系统性能的开发者来说是一份宝贵的资源。通过分析和学习MINA的源码,我们可以了解如何...

    基于Java的实例源码-高性能Java网络框架 MINA.zip

    标题"基于Java的实例源码-高性能Java网络框架 MINA.zip"表明,这是一个关于Java网络编程的实例源代码包,使用的框架是MINA(Multipurpose Infrastructure for Network Applications)。MINA是一个高性能、异步事件...

    基于Java的高性能Java网络框架 MINA.zip

    Apache MINA(Multipurpose Infrastructure for Network ...综上所述,Apache MINA是一个强大的网络编程框架,它简化了Java网络应用的开发,提供了高性能、可扩展的解决方案,适合开发对性能有高要求的网络服务。

    基于Java的mina高性能Java网络框架.zip

    Apache Mina是一个基于Java的高性能网络通信框架,它简化了创建网络应用,如服务器和客户端,的工作。Mina提供了一种抽象层,使得开发者可以专注于业务逻辑,而不是底层的网络编程细节。这个压缩包“基于Java的mina...

    java-mina通信框架详解.docx

    它提供了JAVA对象的序列化和虚拟机内部通信的功能,使得开发者能够迅速构建高性能、高可扩展性的网络应用。Mina的核心特性是其事件驱动、异步(基于Java NIO)的编程模型,使得处理网络通信变得更加高效。 Mina分为...

    基于Java的源码-mina高性能Java网络框架.zip

    Apache Mina是一个基于Java的高性能网络通信框架,它主要用于简化网络应用的开发,特别是对于TCP/IP和UDP/IP协议栈的应用。Mina的核心理念是提供一个简单、高效的抽象层,使得开发者可以专注于业务逻辑,而无需关注...

    mina apach 网络通信框架高性能例子

    Apache MINA(Multipurpose Infrastructure for Network Applications)是一个高级网络通信框架,主要针对Java平台设计,提供了高度可扩展和高性能的网络应用开发环境。MINA旨在简化网络编程,特别是对于TCP/IP和UDP...

    mina高性能Java网络框架.rar

    Apache的Mina(Multipurpose Infrastructure Networked Applications)是一个网络应用框架,可以帮助用户开发高性能和高扩展性的网络应用程序;它提供了一个抽象的、事件驱动的异步API,使Java NIO在各种传输协议...

    mina高性能Java网络框架.zip

    《MINA:构建高性能Java网络应用的利器》 MINA(Multi-purpose Infrastructure for Network Applications)是一个高度可扩展的、高性能的Java网络应用框架,由Apache软件基金会开发并维护。它为开发者提供了简单、...

    mina高性能Java网络框架 v2.2.1.zip

    Apache MINA(Multipurpose Infrastructure for Network Applications)是一个高性能、异步事件驱动的网络应用程序框架,主要用Java语言编写。MINA旨在简化开发网络服务,如TCP/IP和UDP/IP协议的应用,如FTP、SMTP、...

    Java在高并发网络编程中的应用分析.pdf

    JBoss Netty是另一个在Java高并发网络编程中广泛应用的框架。Netty是基于NIO的异步事件驱动的网络应用框架,旨在快速开发可维护的高性能协议服务器和客户端。Netty提供了丰富的协议栈实现,使得开发者可以不必过多...

    java mina组合包

    Java Mina是一个高性能、异步事件驱动的网络应用程序框架,主要用于简化开发服务器端和客户端的网络应用。这个“java mina组合包”看起来包含了Mina库的所有必要组件和可能的扩展,为开发者提供了完整的开发环境。 ...

    mina高性能Java网络框架 v2.0.23.zip

    Apache MINA(Multipurpose Infrastructure for Network Applications)是一个高性能的Java网络框架,主要设计用于构建网络应用,如服务器和客户端通信。MINA的核心理念是提供一个与传输协议无关的抽象层,使得...

    java客户端socket与mina服务端通信

    Mina(Minimum Asynchronous Network)是一个高性能、易于使用的网络应用框架,它简化了开发复杂、高性能的网络应用程序的过程。Mina提供了一种事件驱动、非阻塞I/O的模型,这使得它在处理大量并发连接时性能优异。...

    JAVA mina 框架源码

    JAVA Mina框架是一款高度可扩展、高性能的网络应用开发框架,专为Java平台设计。它提供了丰富的网络通信API,使得开发者能够轻松地构建基于TCP/IP、UDP/IP以及其他协议的服务器和客户端应用程序。Mina框架的核心设计...

Global site tag (gtag.js) - Google Analytics