8个java⽹络编程框架介绍
⾃从JDK1.4中有了NIO以后,这个⽅⾯越来越活跃,也为java赢得更多开发者的⽀持。
做java⽹络编程需要掌握⼀些基本的知识和技能:套接字编程、阻塞/⾮阻塞通信、创建HTTP服务器与客户程序、数据报通信、对象的序列化与反序列化、Java反射机制、RMI框架、JDBC API、JavaMail API、MVC设计模式、安全⽹络通信、CORBA和Web服务等等。
笔者在此只整理以下⼀些主流框架:
1、Apache MINA
为开发⾼性能和⾼可⽤性的⽹络应⽤程序提供了⾮常便利的框架;⽀持基于 Java NIO 技术的 TCP/UDP 应⽤程序开发、串⼝通讯程序2、Grizzly
设计与⼀般的nio框架相⽐是⽐较不同的,主要不同点在于读和写都是采⽤blocking⽅式,并且使⽤临时selector ;
线程模型⾼度可配置,不过据作者介绍在跑⼀个selector主线程处理ACCEPT,⽤线程池处理read和write性能表现最好,这点不出意料。
3、Netty
提供了⼀组基于事件的API来开发⾼性能, 可管理的TCP/IP服务端或客户端应⽤程序. 对于要求建⽴⾼性能的⽹络应⽤来说,Netty提供许多基本特性,像readiness selection, 线程池, 写缓冲DoS的预防, 可重⽤的缓冲等.
4、NIO Framework
搭建在Java NIO library之上,封装了原始NIO的⼤部分复杂性。利⽤NIO Framework能够很容易地开发安全,⾼性能的Java⽹络应⽤程序。
5、QuickServer
⼀个免费的开源Java库,⽤于快速创建健壮的多线程、多客户端TCP服务器应⽤程序。使⽤QuickServer,⽤户可以只集中处理应⽤程序的逻辑/ 协议。
6、xSocket
⼀个轻量级的基于nio的服务器框架⽤于开发⾼性能、可扩展、多线程的服务器。该框架封装了线程处理、异步读/写等⽅⾯。
7、IOServer
⾼性能,易扩展的⽹络框架,相对于Apache的MINA更加轻量级,源码更容易读懂,源码中有⼤量详细的中⽂注解,是⼀个⾮常不错的学习框架,框架主要⾄⼒于解决中国市场上⼿机⽹游的服务器端程序的编写。
IoServer构建简单服务器例程(更详细的例程可下载例程包,或进⼊Wiki查看)服务器接收⼀个来⾃客户端的整型,并加⼀返回给客户端。
8、XNIO
mina框架⼀个帮助你简化NIO应⽤程序开发的Java包;
提供了⼀个独特和易于使⽤的API,⽤于结合blocking和⾮blocking操作,即使是在同⼀个channel上,也可以允许你利⽤简单和低延迟性的blocking I/O,同时还能获得⾮blocking I/O的优势;
还引⼊了⼀个功能强⼤的基于回调的接⼝,可以⼤⼤简化基于traditional state machine的⾮blocking应⽤,并让您的应⽤程序之间的吞吐量(throughput)和延时达到完美平衡。
另外中间件平台ICE也可能被⽤到此场景中。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。