public synchronized static void sendMsg2One(UserInfo srcUser,MsgHead msg){
		//1.Һ
		if(msg.getType()==IMsgConstance.command_find){
			//ߵĺб
			Set<UserInfo> users=stList.keySet();
			Iterator<UserInfo> its=users.iterator();
			MsgFindResp mfr=new MsgFindResp();
			mfr.setType(IMsgConstance.command_find_resp);
			mfr.setSrc(msg.getDest());
			
			mfr.setDest(msg.getSrc());
			while(its.hasNext()){
				UserInfo user=its.next();
			   if(user.getJkNum()!=msg.getSrc()){
				mfr.addUserInfo(user);
				}
			}
			//û
			int count=mfr.getUsers().size();
			mfr.setTotalLen(4+1+4+4+4+count*(4+10));
			//Ͳҵû
			stList.get(srcUser).sendMsg2Me(mfr);
			return;
		}
		//2.Ӻ,ֻ,ҲҪϢ
        if(msg.getType()==IMsgConstance.command_addFriend){
        	MsgAddFriend maf=(MsgAddFriend)msg;
        	UserInfo destUser=UserDao.addFriend(msg.getSrc(),maf.getFriendJkNum());
        	MsgAddFriendResp mar=new MsgAddFriendResp();
        	mar.setTotalLen(4+1+4+4+4+10);
        	mar.setDest(msg.getSrc());
        	mar.setSrc(msg.getDest());
        	mar.setType(IMsgConstance.command_addFriend_Resp);
        	mar.setFriendJkNum(destUser.getJkNum());//ҪӵûJK
        	mar.setFriendNikeName(destUser.getNikeName());
        	stList.get(srcUser).sendMsg2Me(mar);//Ͳҽ
        	//ӵҲһӺѵϢ
        	mar.setDest(destUser.getJkNum());
        	mar.setSrc(msg.getDest());
        	mar.setFriendJkNum(srcUser.getJkNum());
        	mar.setFriendNikeName(srcUser.getNikeName());
        	//ӵûδ,ͻ!
        	stList.get(destUser).sendMsg2Me(mar); 
        	
        	return ;
		}
        //3.ļϢת
        if(msg.getType()==IMsgConstance.command_chatText
        ||msg.getType()==IMsgConstance.command_chatFile){
       //,ļϢ,ת
		Set<UserInfo> users=stList.keySet();
		Iterator<UserInfo> its=users.iterator();
		while(its.hasNext()){
			UserInfo user=its.next();
			if(user.getJkNum()==msg.getDest()){
			  stList.get(user).sendMsg2Me(msg);
			}
		}
     }
	}