如果我们在项目中需要使用到socket服务器,这个东西对大家也许会有用。这里,我只简单介绍一下我对这个项目最简单的一个应用,稍微改造一下该项目例子中自带的echoServer,用来为我们程序中的前置服务器所用,它确实节省了我们应用中可能遇到的socket通信问题的处理,让我们专心于业务逻辑的实现。

1、将附件压缩包DevelopersGuidev0.3.zip中code\ch03\src\main\目录中的代码直接复制到你的java工程下

2、将QuickServer1.4.7.zip中dist目录下所有java设置为你的依赖包

3、修改EchoServer,在main函数中加入如下代码:

try {
                        //指定该服务器接收的数据类型是BYTE型
                                    myServer.setDefaultDataMode(DataMode.BYTE,DataType.IN);
                } catch (IOException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                }

4、修改EchoCommandHandler,将lostConnection和closingConnection中的函数体清空。修改handleCommand函数体的内容,注意:这个函数体有两个参数,handler不需要理会,command则是你通过客户端传过来的数据,而且它已经把字节流转化为字符串,你只需要处理command,然后,通过服务器端的业务处理逻辑得到你返回给客户端的报文字符串handleResult即可,最后调用handler.sendClientMsg(handleResult)将数据发回客户端即可;

总结:通过简单的处理,就能够将示例代码中的echoServer封装成可供我们大多数项目中可能使用到的基于字节流通信的socket服务器,quickServer的方便易用不得不赞。至于处理工程中可能遇到的多线程通信、线程池、字符串编码等,quickServer也都有所考虑,而且可以通过修改配置文件的方式来处理,据说已经有公司在用该项目,可支持至少1-2w并发量。

参考站点:http://www.quickserver.org/

本文转自 cuiyingfeng 51CTO博客,原文链接:http://blog.51cto.com/cuiyingfeng/172127,如需转载请自行联系原作者

quickServer介绍相关推荐

  1. quickserver java_QuickServer--在吵闹的环境里快速搭建自己的TcpServer(Pragmatic系列) - java - CSDN技术中心...

    虽然现在已是Web Server, Web Service的天下,但偶然还是会因为性能苛刻,或者需要自定义协议的原因,很无辜的要自己做一个Multi-Thread,Multi-Client的Tcp S ...

  2. Java通讯框架介绍

    Java通讯框架介绍 Java通讯框架,有时也被称为网络服务器,其实就是封装IO操作,并提供更高级的API接口.目前比较流行的框架就是:MINA.Cindy.QuickServer等.前段时间为了缩短 ...

  3. 8个java 网络编程框架介绍

    1Apache MINA 2Grizzly 3Netty 4NIO Framework 5QuickServer 6xSocket 7IOServer 8XNIO 自从JDK1.4中有了NIO以后,这 ...

  4. 简单介绍互联网领域选择与营销方法

    在我看来,互联网领域的选择是"安家",而营销方法的不同则表现了"定家"的方式多种多样,只有选对了,"家"才得以"安定". ...

  5. 常用开源协议介绍以及开源软件规范列表

    1. 开源协议介绍 GPL: General Public License,开源项目最常用的许可证,衍生代码的分发需开源并且也要遵守此协议.该协议也有很多变种,不同变种要求会略微不同. MPL: MP ...

  6. python:Json模块dumps、loads、dump、load介绍

    20210831 https://www.cnblogs.com/bigtreei/p/10466518.html json dump dumps 区别 python:Json模块dumps.load ...

  7. pytorch学习笔记(九):PyTorch结构介绍

    PyTorch结构介绍 对PyTorch架构的粗浅理解,不能保证完全正确,但是希望可以从更高层次上对PyTorch上有个整体把握.水平有限,如有错误,欢迎指错,谢谢! 几个重要的类型 和数值相关的 T ...

  8. Python字节码介绍

    了解 Python 字节码是什么,Python 如何使用它来执行你的代码,以及知道它是如何帮到你的. 如果你曾经编写过 Python,或者只是使用过 Python,你或许经常会看到 Python 源代 ...

  9. Pytest - 使用介绍

    1. 概述 pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点: 1.简单灵活,容易上手,文档丰富: 2.支持参数化,可以细粒度地控制要测试的测试用例: 3.能够支持简单的单 ...

最新文章

  1. 创建一个Android模拟器
  2. 围观窗体与组件03 - 零基础入门学习Delphi25
  3. linux挂载U盘,及乱码问题解决
  4. 遥感影像场景分类预测大赛——算法硬碰硬!
  5. rvest | 网络爬虫初步——使用CSS选择器
  6. python创建树_python – 从SQLalchemy中的自引用表创建树
  7. 基于ASP的校园二手交易网设计与实现程序免费下载
  8. top命令的使用查看进程占用
  9. MNIST二进制数据集探索--基于Numpy处理
  10. 【渝粤教育】国家开放大学2018年秋季 1248T公共部门人力资源管理 参考试题
  11. 互联网大厂跳槽鄙视链
  12. Javascript:Ajax讲解
  13. 宝塔面板修改端口号无法登陆解决方案
  14. 《数据挖掘概念与技术》读书笔记
  15. jQuery支持移动触摸设备的Lightbox插件
  16. TracePro模拟LED手电筒整个照明系统并分析
  17. Qt 窗口属性简介之Qt::WA_DeleteOnClose
  18. 扫码点餐系统开通后如何设置桌码和上传菜品?
  19. Who do you think is the best coder, and why?
  20. 支付宝-相互保,创新。

热门文章

  1. SQL Server 服务器硬件配置
  2. TortoiseSVN中图标的含义
  3. Authorize.Net使用小结
  4. 用“混序”替代鲍尔默
  5. 【测试】软件测试用例设计
  6. 性能测试之JMeter测试结果写入Excel
  7. annotationprocessor 提示找不到类_StackOverflow上87万访问量的问题:什么是“找不到符号”?...
  8. Servlet 编写过滤器
  9. selenium 定位方式1
  10. 事务例子_图文详解:数据库事务与锁