📄 socketmanage.java
字号:
package com.dfun.blackjackServer;
import java.util.Hashtable;
import java.net.*;;
/**************************************************
* @author Beetle
* 类功能介绍:连接管理器包含二个连接列表,连接管理器主要用于维
* 护这个列表,进行添加、删除、续连等操作,系统启动时便进行监听
* 操作有请求到达时便生成新的连接
**************************************************/
public class SocketManage extends Thread{
public Hashtable connOneList;
public Hashtable connTwoList;
private Control ctrl;
private ServerSocket echoServer;
public SocketManage(Control ctrl) {
this.ctrl=ctrl;
connOneList=new Hashtable();
connTwoList=new Hashtable();
this.start(); //启动监听
}
/*****************************************************
* 功能介绍:在联接列表1添加联接
* 输入参数:key,连接
* 输出参数:无
****************************************************/
public void addConnOne(String userId,SocketConn conn) {
connOneList.put(userId,conn);
}
/*****************************************************
* 功能介绍:删除连接
* 输入参数:用户id
* 输出参数:无
****************************************************/
public boolean removeConn(String userId) {
//删除连接前将是否监听置为否以防止另外一个连接断开时重新执行offline程序
try{
SocketConn conn = (SocketConn) connOneList.get(userId);
if (conn.isListener==false){
return false;
}
conn.isListener = false;
connOneList.remove(userId);
conn = (SocketConn) connTwoList.get(userId);
if (conn.isListener==false){
return false;
}
conn.isListener = false;
connTwoList.remove(userId);
return true;
}catch(Exception e){
System.out.println("移除连接"+e.getMessage());
return false;
}
}
/*****************************************************
* 功能介绍:在联接列表2添加联接
* 输入参数:key,连接
* 输出参数:无
****************************************************/
public void addConnTwo(String userId,SocketConn conn) {
connTwoList.put(userId,conn);
}
public void run() {
try {
echoServer = new ServerSocket(3333); //creat a server socket at port
}
catch (Exception e) {
System.exit( -1);
}
Socket echoClient = null;
try {
while (true) {
echoClient = echoServer.accept(); //accept a connection
new SocketConn(ctrl,this,echoClient);
}
}
catch (Exception e) {
System.exit( -1);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -