首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

一个Socket联接管理器

2012-06-26 
一个Socket连接管理器为了方便开发人员使用,我在闲暇之余写了一个简单的Socket连接管理的处理程序,程序简

一个Socket连接管理器

为了方便开发人员使用,我在闲暇之余写了一个简单的Socket连接管理的处理程序,程序简单仅供参考!

其他更多精彩,请你访问我的博客:http://cuisuqiang.iteye.com/

?

处理机说明:

读取配置文件,根据配置文件信息保持一个连接配置变量集合。

根据连接变量集合初始化相应的连接。

启动一个线程,处理检查连接的有效性,处理方法是发送心跳包,如发现不能使用的连接,则设置该连接为占用,并启动一个线程去不断的初始化该连接。

用户使用接口根据名称去获得连接,如果是保持的连接则直接从连接集合获取,并检查有效性。如果是不用保持的,则去创建一个连接返回。

备注:如果返回了空的信息,则说明没有正常的连接可以返回,你可以尝试不断的获取。

点击连接到我的博客查看更多内容 !

?

下面来看看代码:

首先创建一个实体对象,对应配置信息

?

启动的线程是用于检查连接的

?

当检查线程发现无效的连接时会启动新的线程初始化该连接

?

同时注意,用户在使用连接后会调用关闭方法。我们是不能让连接关闭的,要保持常连接。所以如果用户指定的是保持这个连接,那么返回的连接对象就不是原来的Socket对象了,我们要重写这个对象

?服务端处理连接的实现类

?

当然别忘了加日志的包!

?

我们来看一下服务端的打印信息

2012-04-18 16:59:48 [com.socket.SocketKeep]-[WARN] 加载socket.properties文件成功!2012-04-18 16:59:48 [com.socket.SocketKeep]-[WARN] 加载Socket连接配置信息结束!2012-04-18 16:59:48 [com.socket.SocketKeep]-[WARN] 开始初始化Socket连接!2012-04-18 16:59:48 [com.socket.SocketKeep]-[WARN] 初始化Socket连接结束!2012-04-18 16:59:48 [com.socket.CommonSocket]-[WARN] 为用户建立请求连接!资源名称:socket22012-04-18 16:59:48 [com.socket.CheckThread]-[ERROR] 本次检测结束!2012-04-18 16:59:49 [com.socket.CommonSocket]-[WARN] 为用户建立请求连接!资源名称:socket22012-04-18 16:59:50 [com.socket.CommonSocket]-[WARN] 为用户建立请求连接!资源名称:socket22012-04-18 16:59:51 [com.socket.CommonSocket]-[WARN] 为用户建立请求连接!资源名称:socket22012-04-18 16:59:52 [com.socket.CommonSocket]-[WARN] 为用户建立请求连接!资源名称:socket22012-04-18 16:59:53 [com.socket.CheckThread]-[ERROR] 本次检测结束!2012-04-18 16:59:53 [com.socket.CommonSocket]-[WARN] 为用户建立请求连接!资源名称:socket22012-04-18 16:59:54 [com.socket.CommonSocket]-[WARN] 为用户建立请求连接!资源名称:socket22012-04-18 16:59:55 [com.socket.CommonSocket]-[WARN] 为用户建立请求连接!资源名称:socket22012-04-18 16:59:56 [com.socket.CommonSocket]-[WARN] 为用户建立请求连接!资源名称:socket22012-04-18 16:59:57 [com.socket.CommonSocket]-[WARN] 为用户建立请求连接!资源名称:socket22012-04-18 16:59:58 [com.socket.CommonSocket]-[WARN] 当前连接正被占用,请稍候尝试!资源名称:socket12012-04-18 16:59:58 [com.socket.CheckThread]-[ERROR] 本次检测结束!2012-04-18 16:59:58 [com.socket.CommonSocket]-[WARN] 为用户建立请求连接!资源名称:socket22012-04-18 16:59:59 [com.socket.CommonSocket]-[WARN] 为用户建立请求连接!资源名称:socket2

?

可以看到,socket2会一直被重新创建,而且socket1会发现被占用的情况。

你也可以中断服务端然后再重启服务端试试,看看效果。

?

如果你喜欢该博客,欢迎您访问我的博客:http://cuisuqiang.iteye.com/ !

源码下面可以下载,仅供参考!转载说明出处,谢谢合作!

热点排行