1、将附件压缩包DevelopersGuidev0.3.zip中code\ch03\src\main\目录中的代码直接复制到你的java工程下
2、将QuickServer1.4.7.zip中dist目录下所有java设置为你的依赖包
3、修改EchoServer,在main函数中加入如下代码:
//指定该服务器接收的数据类型是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/