QuickServer开发指南(1)- 介绍
来源:互联网 发布:自动开票软件 编辑:程序博客网 时间:2024/05/01 00:01
QuickServer安装目录下的example中有演示其功能的例子,最新的例子和文档可以通过网站 http://www.quickserver.org或http://quickserver.sourceforge.net获得。
该指南适用于所有想要学习和使用QuickServer的人,阅读该指南应具备基本的Java编程知识,基本的网络和sockets方面的知识也会有所帮助
1. 为什么需要QuickServer?
无论何种编程语言,socket编程对程序员来说都不是一件容易的事,创建多线程、多客户端的服务器socket更像一场恶梦了。在每个新的软件中处理多socket连接,我们都要浪费大把时间编写大量重复的代码。QuickServer因而诞生——使用Java创建多线程、多客户端服务器应用。
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
- QuickServer开发指南(1)- 介绍
- QuickServer开发指南(1)- 介绍
- QuickServer开发指南(2)- 安装
- QuickServer开发指南(3)- 构建EchoServer
- QuickServer开发指南(4)- 添加认证
- QuickServer开发指南(5)- 客户数据
- QuickServer开发指南(6)- 远程管理支持
- QuickServer开发指南(8)- XML配置
- QuickServer开发指南(2)- 安装
- QuickServer开发指南(3)- 构建EchoServer
- QuickServer开发指南(4)- 添加认证
- QuickServer开发指南(5)- 客户数据
- QuickServer开发指南(6)- 远程管理支持
- QuickServer开发指南(8)- XML配置
- QuickServer开发指南目录
- QuickServer开发指南(7)- 使用和定制日志
- QuickServer开发指南(9)- 数据模式和数据类型
- QuickServer开发指南(7)- 使用和定制日志
- Div+CSS布局入门教程(很适合新手的哦!~~~)
- Alfresco 2.0 解读
- 利用代码读取XML文档
- 以前用 oracle 9i,现在用oracle 10g 感觉?
- 突然发现,有一年的时间没有在这个Blog上写东西了。
- QuickServer开发指南(1)- 介绍
- QuickServer开发指南(2)- 安装
- QuickServer开发指南(3)- 构建EchoServer
- ASP.NET中利用存储过程实现模糊查询
- java中Sting、Int之间的相互转换方法
- Delphi2007出来了,感受一下!
- 解析__cdecl,__fastcall, __stdcall 的不同
- QuickServer开发指南(4)- 添加认证
- MIME