[align=left]QuickServer是一个免费的开源Java库,用于快速创建健壮的多线程、多客户端TCP服务器应用程序。使用QuickServer,用户可以只集中处理应用程序的逻辑/协议,从而方便的建立功能强大的服务器应用。该程序由Akshathkumar Shetty设计和实现。 QuickServer安装目录下的example中有演示其功能的例子,最新的例子和文档可以通过网站 http://www.quickserver.org或http://quickserver.sourceforge.net获得。 该指南适用于所有想要学习和使用QuickServer的人,阅读该指南应具备基本的Java编程知识,基本的网络和sockets方面的知识也会有所帮助
1. 为什么需要QuickServer? 无论何种编程语言,socket编程对程序员来说都不是一件容易的事,创建多线程、多客户端的服务器socket更像一场恶梦了。在每个新的软件中处理多socket连接,我们都要浪费大把时间编写大量重复的代码。QuickServer因而诞生——使用Java创建多线程、多客户端服务器应用。 [/align] 2. 基本构造 QuickServer在应用逻辑上为开发者提供了四个类 o ClientCommandHandler 处理与客户端的交互——使用字符串命令 o ClientObjectHandler [可选类] 处理与客户端的交互——使用对象命令 o Authenticator [可选类] 客户端验证 o ClientData [可选类] 客户端数据载体(支持类) 下面的图表显示了QuickServer库的基本构造。QuickServer模块上七个辐条表示七个方法: o java.lang.String info() o int getServiceState() o boolean initService(java.lang.Object[] config) o boolean startService() o boolean resumeService() o boolean suspendService() o boolean stopService()
与QuickServer模块相连接的四个组件中只有ClientCommandHandler是必须的。 QuickServerConfig对象由initService()方法构建。它实现了QuickServer,在读取XML配置后,QuickServerConfig用于QuickServer配置。 ClientHandler线程对象用于客户端缓冲池。可选的ClientData类与ClientHandler类关联,ClientHandler对象容器参考ClientCommandHandler,ClientObjectHandler(可选),Authenticator(可选)对象包含在QuickServer主函数中。 注意:上图中并未显示QSAdminServer,它是图中QuickServer的组成部分。
3. 主要特点 o 创建多线程、多客户端TCP服务器应用程序 o 支持安全服务的创建:SSL, TLS o 清楚的分离服务、协议、验证逻辑 o GUI图形界面远程管理支持 o Command Shell对服务器的本地管理 o 无须断开客户端连接的重启或延迟服务 o 为线程的再利用和大多数的使用对象建立缓冲池 o 完全的日志支持(Java构建) o 支持发送和接收字符串、字节、二进制、序列化Java对象 o 在同样的xml中支持能够存贮指定应用数据的XML配置 o 支持通过IP地址限制服务 o 支持基于XML的JDBC映射 o 支持服务配置模式 o 支持从xml加载/重新加载用于jar包 o 在QuickServer中添加处理hooks o 指定允许的最大客户端连接数 o 在通常的TCP连接上支持谈判安全连接 o 支持鉴别和查询客户端 o 附带典型例子——FTPServer, CmdServer,EchoWebServer, ChatServer
4. 1.4版的新功能 o 为QuickServer添加安全模式:SSL, TLS o 添加SecureManagerLoader管理安全模式 o 在通常的TCP连接上添加谈判安全连接 o 添加初始化服务hooks o 为通信添加二进制模式 o 为QsAdminServer通信添加QSAdminAPI o 为QuickServer 添加findAllClientByKey o 添加ConnectionLostException类 o 改进ClientHandler、安全配置 o 新例子——XmlAdder:一个简单的xml服务,可添加两个整数 o 新例子——PipeServer:一个简单的重定向服务
|
|
原文地址 http://blog.csdn.net/clearwater21cn/archive/2005/02/22/297117.aspx |
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理