- 浏览: 7272843 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (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实现如下:
服务端信息处理类:
package com.easway.quickserver.echo; import java.io.IOException; import java.net.SocketTimeoutException; import org.quickserver.net.server.ClientCommandHandler; import org.quickserver.net.server.ClientEventHandler; import org.quickserver.net.server.ClientHandler; import org.quickserver.net.server.DataMode; import org.quickserver.net.server.DataType; /** * 服务端业务处理类的面向所有客户端做命令处理器,实现了ClientCommandHandler接口。 * * * * 在客户端必须实现是ClientCommandHandler类用于处理客户端的各种请求的各种信息 * 实现ClientEventHandler用于响应客户端的连接的各种对应的事件信息 * * @author longgangbai * */ public class EchoCommandHandler implements ClientCommandHandler ,ClientEventHandler { /** * 连接服务时响应相关的信息 */ public void gotConnected(ClientHandler handler) throws SocketTimeoutException, IOException { //设置请求和响应的数据类型的信息 handler.setDataMode(DataMode.STRING, DataType.IN); handler.setDataMode(DataMode.STRING, DataType.OUT); //设置相关的连接成功的信息 handler.sendClientMsg("+++++++++++++++++++++++++++++++"); handler.sendClientMsg("| Welcome to EchoServer v 1.0 |"); handler.sendClientMsg("| Send 'Quit' to exit |"); handler.sendClientMsg("+++++++++++++++++++++++++++++++"); } /** * 连接断开时候返回的信息 * */ public void lostConnection(ClientHandler handler) throws IOException { handler.sendSystemMsg("Connection lost : " + handler.getSocket().getInetAddress()); } /** * 正在关闭时候响应的信息 */ public void closingConnection(ClientHandler handler) throws IOException { handler.sendSystemMsg("Closing connection : " + handler.getSocket().getInetAddress()); } /** * 此方法为ClientCommandHandler接口的核心方法,因为服务器接受客户端发送的任何命令时 * 都要盗用该方法, * 处理客户端的请求的信息 * */ public void handleCommand(ClientHandler handler, String command) throws SocketTimeoutException, IOException { handler.sendClientMsg("+++++++++++++++++++++++++++++++"); //显示客户端接收到的信息 System.out.println("command="+command); //根据相关的信息返回相关的信息 if(command.equals("Quit")) { //关闭相关的服务 handler.sendClientMsg("Bye ;-)"); handler.closeConnection(); } else { //向客户端的信息 handler.sendClientMsg("server Echo : "+command); } } }
服务端编程实现如下:
package com.easway.quickserver.echo; import org.quickserver.net.*; import org.quickserver.net.server.*; /** * QuickServer 服务端启动的编程时实现 * * @author longgangbai * */ public class EchoServer { public static void main(String s[]) { QuickServer myServer = new QuickServer("com.easway.quickserver.echo.EchoCommandHandler"); myServer.setPort(4123); myServer.setName("EchoServer v 1.0"); try { myServer.startServer(); } catch(AppException e){ System.err.println("Error in server : "+e); } } }
声明式编程的实现:
import java.io.File; import org.quickserver.net.AppException; import org.quickserver.net.server.QuickServer; /** * QuickServer 服务端启动的编程时实现 * * @author longgangbai * */ public class EasyWayServer { public static String VER = "0.1"; public static void main(String[] args) { QuickServer gateWayServer = new QuickServer(); String confFile = "config"+File.separator+"EchoServer.xml"; Object config[] = new Object[] {confFile}; try { if(gateWayServer.initService(config) == true) { gateWayServer.startServer(); } } catch(AppException e) { System.out.println("服务器错误 : "+e); e.printStackTrace(); } } }
服务器端配置如下:
EchoServer.xml如下:
<quickserver> <name>EchoServer v 1.0</name> <port>4123</port> <bind-address>127.0.0.1</bind-address> <client-command-handler> com.easway.quickserver.echo.EchoCommandHandler </client-command-handler> </quickserver>
发表评论
-
【转】Django resources
2014-01-23 14:35 10730Django resources This page li ... -
使用国内镜像源来加速python pypi包的安装
2014-01-16 11:16 197613pipy国内镜像目前有: http://pypi.d ... -
[转 ]vagrant使用简介
2014-01-10 13:53 256311> 简介: vagrant提供了易于配置,重复性 ... -
[转]在Java中调用Python
2014-01-07 13:08 9158在执行之前都需要把jython对应的包加载进去,这个是必须的 ... -
[转]Eclipse配置PyDev插件
2014-01-02 14:25 2794安装python解释器 安装PyDev: 首 ... -
RestFuse的研究(五) Http请求的封装
2014-06-14 15:50 3537在RestFuse中封装了Http请 ... -
RestFuse的研究(四) Junit的Statement的分析
2013-12-06 11:46 1620在RestFuse提供了多种单 ... -
RestFuse的研究(三) Junit的Rule的使用和分析
2013-12-06 11:01 2205在junit中定义一些可以公用的规则(R ... -
RestFuse的研究(二) Junit的Runner的分类和模式
2013-12-06 10:40 1574在Junit4中的调用JunitCore可以采 ... -
RestFuse的研究(一) HttpJunitRunner的实现
2013-12-06 10:11 1714在RestFuse是一种针对Rest We ... -
[转]An open-source JUnit extension to test HTTP/REST APIs
2013-12-06 09:57 1068http://developer.eclipsesource ... -
TestNG简单的学习(十三)TestNG中Junit的实现
2013-12-04 09:00 3314TestNG和junit的整合 ... -
TestNG简单的学习(十二)TestNG运行
2013-12-03 09:08 51480文档来自官方地址: ... -
TestNG简单的学习(十一)TestNG学习总结
2013-12-03 09:08 14018最近一直在学习关于TestNG方面的知识,根 ... -
TestNG简单的学习(十)TestNG @Listeners 的使用
2013-12-03 09:07 8643TestNG官方网站: http://testng.or ... -
TestNG简单的学习(九)TestNG Method Interceptors 的使用
2013-12-03 09:07 2673TestNG官方网站: http://testng ... -
TestNG简单的学习(八)TestNG Annotation Transformers 的使用
2013-12-03 09:07 2779TestNG官方网站: http://testng.or ... -
TestNG简单的学习(七)TestNG编程方式运行
2013-12-02 09:22 2418TestNG官方网站: http://testng.or ... -
TestNG简单的学习(六)测试工厂注释的使用
2013-12-02 09:22 2733TestNG官方网站: http://testng.or ... -
TestNG简单的学习(五)参数化测试数据的定制
2013-12-02 09:22 2659TestNG官方网站: http://testng.or ...
相关推荐
QuickServer开发指南.pdf
java quickserver,quickserver,java socket
QuickServer 是一个免费的开源Java库,用于快速创建健壮的多线程、多客户端TCP服务器应用程序。使用QuickServer,用户可以只集中处理应用程序的逻辑/协议。
QuickServer开发指南 java实战 经典例子!
java开源通讯包,QuickServer1.4.7.exe
quickserver 1.3 说明文档以及随书代码。 quickserver 是一个方便易用的TCP UDP server
quickServer,开发指南,英文版本
QuickServer开发指南,一种java 写的tcp server
QuickServer.jar 网络相关
非常快速的、稳定的、支持多线程的TCP,UDP服务器搭建手册,是我用过的比jpcap和Jnetcap都要来得稳定。
socket 框架 quickServer开发样例,讲解多线程、服务器开发等
NULL 博文链接:https://mft.iteye.com/blog/2297854
taptank_html5 点击坦克游戏、HTML5、QuickServer
java多商户配送系统源码QuickServer v 2.1.0 自述文件 阅读“install.txt”文件以获取在解压或安装 QuickServer 后设置环境变量的说明。 介绍 QuickServer 是一个开源 Java 库/框架,用于快速创建强大的多客户端 TCP...
QuickServer的类似软件 - 网络工具包 - 开源中国社区 QuickServer 是一个免费的开源Java库,用于快速创建健壮的多线程、多客户端TCP服务器应用程序。使用QuickServer,用户可以只集中处理应用程序的逻辑/协议。
QuickServer是一个开源Java库/框架,用于快速创建健壮的多线程,多客户端TCP服务器应用程序。 借助QuickServer,您可以只专注于手头的应用程序逻辑/协议。
哦,然后,您当然不希望将鼠标悬停在URL上并像农民一样将其复制/粘贴,所以,嘿,quickserver会在您的浏览器中为您打开它,谢谢。 要求 Python 2.5或更高版本。 与Py3k一起使用。 用法 $ quickserver Serving ...