亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? servestart.java

?? Received chat message sent there is choice, as well as an increase of server features and color disp
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
		while(true){
			//transfer location change Single User or Multi User
			ChatServer mu=new ChatServer(server.accept(),null);
			mu.start();
		}
	}
}

class ChatServer extends Thread{

	/**
	 * @param args
	 */
 Socket client;
	static  String cache="";
	private String localcache="";
	static boolean outtype=false;
	private String str;
	private Thread t;
	PrintWriter out;
	BufferedReader in;
	static ServeStart servestart;
    String currentUser=null;
	static boolean isWork=false;
    boolean check=true;
	static public Vector <ChatServer> serverCollection= new Vector<ChatServer>();
	static Vector <Socket> socketlist=new Vector<Socket>();
	static public Vector <String> userList= new Vector<String>();
	private static HashMap<String,String> user= new HashMap<String,String>();
	static HashMap<String,Socket> userSocket= new HashMap<String,Socket>();
	public ChatServer(Socket c, ServeStart ss) throws IOException{
		this.client=c;
		servestart=ss;
		user.put("1","1");
		user.put("2","2");
	/*	t = new Thread(new Runnable(){
			public void run(){
				try{
					out=new PrintWriter(client.getOutputStream());
					boolean outted=false;
					while(isWork){
						if((!outted)&&outtype){
							out.println(cache);
							out.flush();
							outted=true;
						}else if(!outtype){
							outted=false;
						}
					}
				}catch(IOException e){
					e.printStackTrace();
				}finally{
				}
				
			}
		});
			*/			
	    //t.start();
	}
							
						 
	

	public void run(){
		try{
			in=new BufferedReader(new InputStreamReader(client.getInputStream()));
			out=new PrintWriter(client.getOutputStream());
			//Mutil User but can't parallel
			boolean flag=true;
			while(flag&&isWork){
				str=in.readLine();
				if(str.equals("%1%1")){//添加用戶
					String username=in.readLine();
					String password=in.readLine();
					if(user.get(username)==null){
						user.put(username,password);
						out.println("%6%6");//succeed
						out.flush();
					}else{
						out.println("%5%5");
						out.flush();
					}
				}else if(str.equals("%t%tTestServer")){
					out.println("%t%tOK");
					out.flush();
				}else if(str.equals("%0")){//jump out of cycle 1 at server
					
					//flag=false;
					//break;
				}else if(str.equals("%end")){
					//退出thread,登陸任務完成
					break;
				}else if(str.equals("%2%2")){//檢測用戶密碼,若無則新用戶
					String username=in.readLine();
					String password=in.readLine();
					String realpass=user.get(username);
					if(realpass==null){
						out.println("%3%3");//無此用戶, 新用戶
						out.flush();
						//user.put(username,password);
					}else if(realpass.equals(password)){
						//while(true){
						//	if(userList.iterator().hasNext()){
						//		if(userList.iterator().next()==username){
						//		   out.println("%3%3");
						//		   out.flush();
						//		   break;
						//	    }
						
						//	
						//   }
						//}
						
					
						out.println("%4%4");          //密碼正確,登陸成功
						out.flush();
						out.println(username);
						out.flush();
						this.currentUser=username;
					    userList.add(currentUser);
					    ServeStart.jList.setListData(userList);
					    
					    socketlist.add(client);
				        //userSocket.put(currentUser,client);
					    serverCollection.add(this);
					    //sendMsg("%7%7",socketlist);
			            sendMsg("%2%2,"+now()+",歡迎 "+currentUser+" 進入聊天室!%8%8",socketlist);
			            sendMsg("%1%1,"+changeString(userList),socketlist);
						flag=false;
						break;	
					}else{
						out.println("%5%5");//密碼錯誤
						out.flush();
					}
					
				}
			}
			System.out.println(this);
			while(isWork){
				//getUserList();
				//if(check==true){
				//	if(((String)ServeStart.index)==this.currentUser){
			    //        check=false;
			    //        out.println("%7%7");
			    //       out.flush();
			    //        out.println("你已被管理員踢出去了!");
			    //        out.flush();
			    //        break;
		        //   }
			
					
				//}
				try{
					str=in.readLine();
				}catch(SocketException e){
					e.printStackTrace();
					del(!isWork);
					
				}
				if(str.equals("%end")){
					//退出thread,chat任務完成
					break;
				}else if(!str.equals("%7%7")){
					System.out.println(str+"ccccccccccccccccccccccccccccccccccccc");
					sendMsg(str,socketlist);
					
					//localcache=cache;
					//System.out.println(cache+"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
					//out.println(cache);
					//out.flush();
				}
			}
			//out.println("%ServerEnd");
			//out.flush();
			
			del(check);
			
		}catch(IOException ex){
			ex.printStackTrace();
			System.out.println("一個斷開");
			del(!isWork);
		}finally{
		}
		
	}

	public static String now() 
    {
        Date today = new Date();
        SimpleDateFormat formatter = new SimpleDateFormat("[ hh:mm:ss ] ");
        String dateString=null;
        try 
        {
            dateString = formatter.format(today);
            return dateString;
        } catch (IllegalArgumentException iae) {
            //result.setForeground(Color.red);
           // result.setText("Error: " + iae.getMessage());
        }
		return dateString;
    }
	
	public static Vector<String> getUserList(){
		return userList;
	}
	
	void del(boolean xp){
		userList.remove(currentUser);
		ServeStart.jList.setListData(userList);
		
		socketlist.remove(client);
		//userSocket.remove(currentUser);
		serverCollection.remove(this);
		if(xp==false){
			
		}else{
		    //sendMsg("%7%7",socketlist);
		    sendMsg("%2%2,"+now()+","+currentUser+"已經離開了..%8%8",socketlist);
		    sendMsg("%1%1,"+changeString(userList),socketlist);
		}
		try{
			client.close();
		}catch(Exception e){
			e.printStackTrace();
		}finally{
			this.stop();
		}
		
		
		
	}
	
	static void sendMsg(String a,Vector <Socket> b){
		for(int i=0;i<b.size();i++){
			try{
				PrintWriter dout=new PrintWriter(((Socket)b.get(i)).getOutputStream());
				dout.println(a);
				dout.flush();
			}catch(Exception e){
				e.printStackTrace();
			}finally{
			}
		}
		
		
	}
	
	static void delete(String userab){
		ChatServer s=search(userab);
		userList.remove(s.currentUser);
		ServeStart.jList.setListData(userList);
		
		socketlist.remove(s.client);
		userSocket.remove(s.currentUser);
		//sendMsg("%7%7",userab);
		sendMsg("%2%2,"+now()+",你已經被管理員踢出去了!%8%8",userab);
		//sendMsg("%7%7",socketlist);
		sendMsg("%2%2,"+now()+","+s.currentUser+"已經被管理員踢出去了!%8%8",socketlist);
		sendMsg("%1%1,"+changeString(userList),socketlist);
		s.check=false;
		try{
			s.client.close();
		}catch(Exception e){
			e.printStackTrace();
		}finally{
			s.stop();
		}
	}
	
	static void sendMsg(String a,String userab){
		try{
			PrintWriter dout=new PrintWriter(search(userab).client.getOutputStream());
			dout.println(a);
			dout.flush();
		}catch(Exception e){
			e.printStackTrace();
		}finally{
		}
	}
	
	
	static ChatServer search(String userab){
		for(int i=0;i<serverCollection.size();i++){
			if(userab==((ChatServer)serverCollection.get(i)).currentUser){
				return (ChatServer)serverCollection.get(i);
			//	break;
			}
		}
		return null;
	}
	
	public String toString(){
		return currentUser+client;
	}


	public static void end() {
		// TODO Auto-generated method stub
		isWork=false;
	}
	
	public static String changeString(Vector a){
		String lm="";
		for(int i=0;i<a.size();i++){
			lm+=(String)a.get(i);
			if(i<a.size()-1){
				lm+=",";
			}
		}
		return lm;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一区二区三区蜜桃| 欧美亚洲动漫另类| 在线观看免费视频综合| 26uuu精品一区二区三区四区在线| 日本一区二区三级电影在线观看| 亚洲成人免费电影| 99久久99久久精品国产片果冻 | 日韩视频免费直播| 亚洲乱码国产乱码精品精可以看| 精品一区二区三区在线播放| 色婷婷综合中文久久一本| 精品国产乱码久久久久久图片| 亚洲综合久久久久| 成人激情综合网站| 欧美激情综合五月色丁香小说| 捆绑紧缚一区二区三区视频| 欧美日韩亚洲综合在线| 最新不卡av在线| 成人精品免费视频| 久久久99久久| 国产不卡免费视频| 国产亚洲精品aa| 国产麻豆成人精品| 久久精品一区二区三区不卡| 蜜桃视频在线观看一区| 在线免费亚洲电影| 一区二区三区精品| 欧美中文字幕一区二区三区| 亚洲美女屁股眼交3| jlzzjlzz亚洲日本少妇| 亚洲国产高清aⅴ视频| 国产黄色91视频| 中文一区二区在线观看| 国产成人精品影院| 国产精品美女久久久久aⅴ国产馆| 国产精品白丝jk黑袜喷水| 欧美精品一区二区三区很污很色的 | 亚洲一区二区av电影| 日本乱人伦一区| 亚洲综合无码一区二区| 3d成人h动漫网站入口| 日本伊人色综合网| 精品久久免费看| 国产91精品入口| 无码av免费一区二区三区试看| 欧美日韩视频一区二区| 日韩激情一二三区| 久久一留热品黄| 成人动漫一区二区| 一区二区三区在线免费视频| 欧美三级电影在线看| 秋霞午夜鲁丝一区二区老狼| 欧美mv日韩mv国产网站| 成人在线视频一区| 亚洲综合一区二区| 久久影院电视剧免费观看| 成人黄色a**站在线观看| 一区二区在线观看不卡| 日韩三级在线观看| 成人免费视频caoporn| 亚洲国产欧美在线| 欧美精品一区二区精品网| caoporn国产精品| 亚洲高清中文字幕| 久久久久久久久久久久久女国产乱| 粉嫩av一区二区三区在线播放 | 精品少妇一区二区三区免费观看 | 国产亚洲成aⅴ人片在线观看| 99国产精品久久久久久久久久| 亚洲午夜免费电影| 日韩女优视频免费观看| 99re6这里只有精品视频在线观看| 亚洲一区二区视频在线观看| 欧美电影精品一区二区| 91一区一区三区| 国产在线精品不卡| 亚洲第一激情av| 亚洲欧洲日本在线| 精品国产乱码久久久久久闺蜜| 一本久道久久综合中文字幕| 麻豆精品一区二区三区| 亚洲日本韩国一区| 久久嫩草精品久久久精品| 在线观看欧美黄色| 99精品1区2区| 高清免费成人av| 激情综合网最新| 婷婷综合五月天| 亚洲激情网站免费观看| 国产人久久人人人人爽| 日韩一区二区三区免费看| 91久久免费观看| 成人动漫视频在线| 国产91丝袜在线18| 国产一区二区91| 国产一区二区三区电影在线观看 | 综合精品久久久| 久久人人爽人人爽| 日韩一级黄色大片| 欧美日韩精品欧美日韩精品一| 成人av综合一区| 国产成人一区在线| 国产精品一卡二卡| 国产一区 二区| 激情小说欧美图片| 国产一区在线看| 精彩视频一区二区三区| 日本伊人午夜精品| 秋霞电影一区二区| 日韩avvvv在线播放| 性欧美大战久久久久久久久| 亚洲国产视频a| 三级久久三级久久| 视频在线观看一区| 日韩中文字幕av电影| 日韩激情av在线| 久久不见久久见免费视频7| 日韩精品欧美精品| 精品一区二区三区香蕉蜜桃| 麻豆免费精品视频| 国产一区二区三区免费| 国产99精品国产| 91影视在线播放| 在线一区二区三区四区| 69堂精品视频| 337p日本欧洲亚洲大胆精品| 久久蜜桃一区二区| 国产精品美女一区二区在线观看| 国产精品欧美一级免费| 亚洲日本一区二区三区| 亚洲第一会所有码转帖| 久久电影网站中文字幕| 国产精品一品视频| 一本在线高清不卡dvd| 欧美综合一区二区三区| 欧美一级在线视频| 国产日本欧美一区二区| 亚洲日本在线天堂| 秋霞电影一区二区| 成人激情黄色小说| 欧美日韩美少妇| 久久免费的精品国产v∧| 中文字幕中文字幕在线一区| 亚洲欧美日韩一区二区三区在线观看| 一区二区三区精密机械公司| 美国三级日本三级久久99| 国产成人aaaa| 欧美少妇bbb| 国产校园另类小说区| 一区二区三区中文字幕精品精品 | 一区二区在线免费| 麻豆成人综合网| 91香蕉国产在线观看软件| 这里是久久伊人| 国产精品欧美一区喷水| 日韩影院精彩在线| 国产福利精品一区| 91精品婷婷国产综合久久| 久久精品在线免费观看| 亚洲国产精品视频| 成人激情文学综合网| 日韩视频免费观看高清在线视频| 中文字幕日韩一区| 精品一区二区国语对白| 欧美婷婷六月丁香综合色| 欧美国产日产图区| 免费的成人av| 欧美性大战久久久| 亚洲欧美一区二区三区孕妇| 韩国av一区二区| 欧美一区午夜精品| 亚洲电影视频在线| 色综合中文字幕国产 | 在线影视一区二区三区| 国产亚洲精品久| 精品一区二区综合| 91精品欧美综合在线观看最新| 亚洲少妇屁股交4| 成人自拍视频在线| 国产女同性恋一区二区| 美美哒免费高清在线观看视频一区二区 | 婷婷开心激情综合| 色综合天天综合网国产成人综合天 | 国产精品免费av| 国产精品一二三在| 欧美精品一区二区在线观看| 日韩精品1区2区3区| 欧美日韩精品一区二区三区| 亚洲精品成人在线| 91麻豆国产福利精品| 国产精品网站导航| 成人在线视频一区| 国产精品色在线观看| 成人高清免费观看| 国产精品毛片高清在线完整版| 国产精品69久久久久水密桃| 久久奇米777| 东方aⅴ免费观看久久av| 国产欧美一区二区精品性色超碰| 国产福利一区二区三区视频|