clientmap.java

来自「java的网络编程」· Java 代码 · 共 66 行

JAVA
66
字号
package com.ntc.listen;

import java.net.Socket;
import java.util.HashMap;
import java.util.List;

public class ClientMap {
	//クライアント側が接続したsocket
	private HashMap clientMap = new HashMap();
	//ペアとなっている接続中のユーザ
	private HashMap conClientMap = new HashMap();
	//ハンドリング
	private HashMap handMap = new HashMap();
	
	public void setClientMap(String id, Socket socket){
		this.clientMap.put(id, socket);
	}
	public Socket getClietMap(String id){
		return (Socket) clientMap.get(id);
	}
	/**
	 * ユーザがログアウトする際に、clientMapからユーザIDを削除
	 * @param id
	 */
	public void removeClient(String id){
		this.clientMap.remove(id);
	}
	
	/**
	 * ペアとなっているユーザが双方向の接続をクリエート
	 * @param id1
	 * @param id2
	 */
	public void setConClientMap(String id1, String id2){
		this.conClientMap.put(id1, id2);
		this.conClientMap.put(id2, id1);
	}
	/**
	 *接続先のIDを取得。取得できない場合、nullを返す
	 */
	public String getConClientMap(String id){
		return (String) conClientMap.get(id);
	}
	/**
	 * conClientMapから接続関係を削除
	 * @param id
	 */
	public void removeConClient(String id){
		this.conClientMap.remove(conClientMap.get(id));
		this.conClientMap.remove(id);
		
	}
	
	
	public void setHandMap(String id1, String id2, List handClassList){
		this.handMap.put(id1+"_"+id2, handClassList);
	}
	public List getHandMap(String id1, String id2){
		return (List)this.handMap.get(id1+"_"+id2);
	}
	public void removeHandMap(String id1, String id2){
		this.handMap.remove(id1+"_"+id2);
		this.handMap.remove(id2+"_"+id1);
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?