欢迎来到天天文库
浏览记录
ID:37459857
大小:44.00 KB
页数:10页
时间:2019-05-24
《socket连接池简单实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、当server碰到server,socket连接池简单实现当我们在程序中启动了一个server,这个server需要跟另一个server(比如建立在老系统上的老的c程序)之间通讯,为了增加效率需要建立一个连接池的时候不妨考虑下我的解决方案,不足处清指正。特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系1:SocketAdapter类,此类继承了socket,重载了socket类的close方法,目的是当用户关闭socket的时候,我们并不关闭它只是放在连接池内部。packagecom.taren
2、a.socketpool;importJava.net.*;importjava.io.IOException;/***
socket连接的简单实现
Description:
Copyright:CopyrightTarena(c)2005
Company:Tarena
3、函数*/publicConnectionAdapter(){super();}publicConnectionAdapter(Stringhost,intport)throwsUnknownHostException,IOException{super(host,port);}/***判断此连接是否空闲*@returnboolean空闲返回ture,否则false*/publicbooleanisFree(){returnstatus;}/***当使用此连接的时候设置状态为false(忙碌)*/特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄
4、影照片,插画,设计作品,如需使用,请与原作者联系.publicvoidsetBusy(){this.status=false;}/***当客户端关闭连接的时候状态设置为true(空闲)*/publicvoidclose(){System.out.println("Close:setthestatusisfree");status=true;}publicvoiddestroy(){//Closesocketconnectionclose();//System.out.println("Closesuccess");}}第二个类连接管理器。packagec
5、om.tarena.socketpool;. importjava.lang.reflect.*;importjava.util.Properties;/***
连接管理器
6、ocketpool.MyConnectionProvider";//测试程序的默认ippublicstaticfinalStringHOST="127.0.0.1";//测试程序的默认端口号publicstaticfinalStringPORT="9880";/***注册钩子程序的静态匿名块*/static{//增加钩子控制资源的释放周期Runtimeruntime=Runtime.getRuntime();Classc=runtime.getClass();try{Methodm=c.getMethod("addShutdownHook",newCla
7、ss[]{Thread.class});m.invoke(runtime,newObject[]{newShutdownThread()});}catch(NoSuchMethodExceptione){e.printStackTrace();.//Ignore--theusermightnotberunningJDK1.3orlater.}catch(Exceptione){e.printStackTrace();}}/***默认的构造函数*/publicConnectionManager(){}/***得到并初始化一个连接池*连接池的实现类通过系统参
8、数来传递进来,通过命令行-DConnectionProvider=YourImp
此文档下载收益归作者所有