- 浏览: 7261489 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1546)
- 企业中间件 (236)
- 企业应用面临的问题 (236)
- 小布Oracle学习笔记汇总 (36)
- Spring 开发应用 (54)
- IBatis开发应用 (16)
- Oracle基础学习 (23)
- struts2.0 (41)
- JVM&ClassLoader&GC (16)
- JQuery的开发应用 (17)
- WebService的开发应用 (21)
- Java&Socket (44)
- 开源组件的应用 (254)
- 常用Javascript的开发应用 (28)
- J2EE开发技术指南 (163)
- EJB3开发应用 (11)
- GIS&Mobile&MAP (36)
- SWT-GEF-RCP (52)
- 算法&数据结构 (6)
- Apache开源组件研究 (62)
- Hibernate 学习应用 (57)
- java并发编程 (59)
- MySQL&Mongodb&MS/SQL (15)
- Oracle数据库实验室 (55)
- 搜索引擎的开发应用 (34)
- 软件工程师笔试经典 (14)
- 其他杂项 (10)
- AndroidPn& MQTT&C2DM&推技术 (29)
- ActiveMQ学习和研究 (38)
- Google技术应用开发和API分析 (11)
- flex的学习总结 (59)
- 项目中一点总结 (20)
- java疑惑 java面向对象编程 (28)
- Android 开发学习 (133)
- linux和UNIX的总结 (37)
- Titanium学习总结 (20)
- JQueryMobile学习总结 (34)
- Phonegap学习总结 (32)
- HTML5学习总结 (41)
- JeeCMS研究和理解分析 (9)
最新评论
-
lgh1992314:
[u][i][b][flash=200,200][url][i ...
看看mybatis 源代码 -
尼古拉斯.fwp:
图片根本就不出来好吧。。。。。。
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传 -
ln94223:
第一个应该用排它网关吧 怎么是并行网关, 并行网关是所有exe ...
工作流Activiti的学习总结(八)Activiti自动执行的应用 -
ZY199266:
获取不到任何消息信息,请问这是什么原因呢?
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息 -
xiaoyao霄:
DestinationSourceMonitor 报错 应该导 ...
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
在公司项目中采用自定义的协议,通过QuickServer实现不同系统的交互,交互格式为JSON格式,实现不同系统的快速交互,采用QuickServer的好处,可以使我们在服务器端不用关心底层Socket的相关的信息,可以实现部分功能可以通过xml实现QuickServer的部署,实现相关的业务交互,减少了底层相关Socket信息开发和维护。
闲着没事干,自己参照demo开发一个简单的QucikServer的完成的程序。
QuickServer简单介绍:
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创建多线程、多客户端服务器应用。
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:一个简单的重定向服务
<!--EndFragment-->
发表评论
-
【转】Django resources
2014-01-23 14:35 10722Django resources This page li ... -
使用国内镜像源来加速python pypi包的安装
2014-01-16 11:16 197589pipy国内镜像目前有: http://pypi.d ... -
[转 ]vagrant使用简介
2014-01-10 13:53 256211> 简介: vagrant提供了易于配置,重复性 ... -
[转]在Java中调用Python
2014-01-07 13:08 9147在执行之前都需要把jython对应的包加载进去,这个是必须的 ... -
[转]Eclipse配置PyDev插件
2014-01-02 14:25 2789安装python解释器 安装PyDev: 首 ... -
RestFuse的研究(五) Http请求的封装
2014-06-14 15:50 3527在RestFuse中封装了Http请 ... -
RestFuse的研究(四) Junit的Statement的分析
2013-12-06 11:46 1611在RestFuse提供了多种单 ... -
RestFuse的研究(三) Junit的Rule的使用和分析
2013-12-06 11:01 2197在junit中定义一些可以公用的规则(R ... -
RestFuse的研究(二) Junit的Runner的分类和模式
2013-12-06 10:40 1565在Junit4中的调用JunitCore可以采 ... -
RestFuse的研究(一) HttpJunitRunner的实现
2013-12-06 10:11 1702在RestFuse是一种针对Rest We ... -
[转]An open-source JUnit extension to test HTTP/REST APIs
2013-12-06 09:57 1059http://developer.eclipsesource ... -
TestNG简单的学习(十三)TestNG中Junit的实现
2013-12-04 09:00 3295TestNG和junit的整合 ... -
TestNG简单的学习(十二)TestNG运行
2013-12-03 09:08 51458文档来自官方地址: ... -
TestNG简单的学习(十一)TestNG学习总结
2013-12-03 09:08 14003最近一直在学习关于TestNG方面的知识,根 ... -
TestNG简单的学习(十)TestNG @Listeners 的使用
2013-12-03 09:07 8632TestNG官方网站: http://testng.or ... -
TestNG简单的学习(九)TestNG Method Interceptors 的使用
2013-12-03 09:07 2664TestNG官方网站: http://testng ... -
TestNG简单的学习(八)TestNG Annotation Transformers 的使用
2013-12-03 09:07 2765TestNG官方网站: http://testng.or ... -
TestNG简单的学习(七)TestNG编程方式运行
2013-12-02 09:22 2405TestNG官方网站: http://testng.or ... -
TestNG简单的学习(六)测试工厂注释的使用
2013-12-02 09:22 2722TestNG官方网站: http://testng.or ... -
TestNG简单的学习(五)参数化测试数据的定制
2013-12-02 09:22 2649TestNG官方网站: http://testng.or ...
相关推荐
QuickServer开发指南.pdf
java quickserver,quickserver,java socket
QuickServer 是一个免费的开源Java库,用于快速创建健壮的多线程、多客户端TCP服务器应用程序。使用QuickServer,用户可以只集中处理应用程序的逻辑/协议。
quickserver 1.3 说明文档以及随书代码。 quickserver 是一个方便易用的TCP UDP server
QuickServer开发指南,一种java 写的tcp server
QuickServer开发指南 java实战 经典例子!
java开源通讯包,QuickServer1.4.7.exe
quickServer,开发指南,英文版本
非常快速的、稳定的、支持多线程的TCP,UDP服务器搭建手册,是我用过的比jpcap和Jnetcap都要来得稳定。
QuickServer.jar 网络相关
是一个开源 Java 库/框架,用于快速创建强大的多客户端 TCP 服务器应用程序。 使用 QuickServer,您可以专注于手头的应用程序逻辑/协议。 QuickServer 提供了对 ServerSocket、Socket 和其他网络和输入输出类的抽象...
socket 框架 quickServer开发样例,讲解多线程、服务器开发等
NULL 博文链接:https://mft.iteye.com/blog/2297854
taptank_html5 点击坦克游戏、HTML5、QuickServer
QuickServer的类似软件 - 网络工具包 - 开源中国社区 QuickServer 是一个免费的开源Java库,用于快速创建健壮的多线程、多客户端TCP服务器应用程序。使用QuickServer,用户可以只集中处理应用程序的逻辑/协议。
您想要一个简单的Web服务器在dev或任何其他目录中启动,因此您可以使用很好的python -m SimpleHTTPServer但是您很忙,并且不关心端口,但是您必须选择一个端口,也许是它与您已经在8000上运行的服务器发生冲突?...
QuickServer是一个开源Java库/框架,用于快速创建健壮的多线程,多客户端TCP服务器应用程序。 借助QuickServer,您可以只专注于手头的应用程序逻辑/协议。