亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
亚洲成人动漫在线观看| 欧美日韩视频在线一区二区| 国产日产欧美一区二区视频| 国产在线精品视频| 国产午夜精品美女毛片视频| 成人午夜大片免费观看| 国内精品久久久久影院一蜜桃| 7777精品久久久大香线蕉| 毛片一区二区三区| 久久精品夜夜夜夜久久| 91在线观看高清| 亚洲国产中文字幕| 精品久久99ma| 99久久久精品| 七七婷婷婷婷精品国产| 欧美经典一区二区三区| 91成人在线精品| 久久超碰97人人做人人爱| 欧美国产成人精品| 欧美日韩国产在线观看| 国产专区综合网| 一区二区欧美视频| 精品sm捆绑视频| 91久久精品国产91性色tv| 日韩高清中文字幕一区| 久久久精品一品道一区| 在线亚洲高清视频| 国产一区二区视频在线| 亚洲精品视频一区二区| 欧美videos大乳护士334| 波多野结衣欧美| 麻豆久久久久久| 亚洲男人的天堂一区二区| 欧美大胆人体bbbb| 一本色道亚洲精品aⅴ| 美女一区二区三区在线观看| **欧美大码日韩| 精品成人在线观看| 欧美性大战久久久| 成人不卡免费av| 激情综合网激情| 亚洲免费电影在线| 国产亚洲欧美日韩在线一区| 欧美日韩国产小视频在线观看| 处破女av一区二区| 久久国产精品72免费观看| 亚洲国产精品人人做人人爽| 国产精品私房写真福利视频| 欧美一级爆毛片| 欧美亚洲高清一区| 99re这里只有精品首页| 国产精品一级片| 久草中文综合在线| 五月婷婷综合网| 亚洲综合色区另类av| 国产精品久久久久永久免费观看| 日韩视频中午一区| 88在线观看91蜜桃国自产| 欧洲av在线精品| 色综合欧美在线视频区| 粉嫩av一区二区三区| 国产麻豆一精品一av一免费| 另类的小说在线视频另类成人小视频在线 | 欧美日本在线播放| 91一区二区三区在线观看| 国产大陆a不卡| 国产精品综合二区| 激情伊人五月天久久综合| 蜜臀av亚洲一区中文字幕| 日韩有码一区二区三区| 日本欧美肥老太交大片| 日本中文字幕一区二区视频 | 亚洲精品国产一区二区精华液 | 亚洲美女在线一区| ...av二区三区久久精品| 亚洲视频一区二区免费在线观看| 国产午夜亚洲精品午夜鲁丝片| 久久人人爽爽爽人久久久| 2023国产精品自拍| 久久精品在这里| 久久久精品免费网站| 日本一区二区三区高清不卡| 亚洲国产精品成人综合色在线婷婷 | 国产毛片精品视频| 成人午夜短视频| 色一情一伦一子一伦一区| 欧美性猛交xxxx乱大交退制版| 欧美三级电影网| 日韩三级视频在线看| 久久夜色精品一区| 日本一区二区三区国色天香| 1000部国产精品成人观看| 亚洲午夜电影网| 奇米一区二区三区| 国产精品亚洲综合一区在线观看| 国产乱码精品1区2区3区| av亚洲精华国产精华精华| 91福利区一区二区三区| 欧美一区二区三区四区高清| 久久综合丝袜日本网| 亚洲天堂精品在线观看| 亚洲mv在线观看| 精品一区二区av| 成人国产精品免费观看视频| 一本色道a无线码一区v| 欧美另类一区二区三区| 国产亚洲精品资源在线26u| 中文字幕亚洲成人| 日韩精品一二三| 国产精品一级片| 欧美性猛交xxxx黑人交| 久久久久久久综合狠狠综合| 亚洲精品乱码久久久久久 | 韩国女主播成人在线| 99久久精品情趣| 日韩视频在线观看一区二区| 中文字幕一区二区三| 蜜臀久久99精品久久久画质超高清 | 亚洲国产一区二区在线播放| 青青草97国产精品免费观看无弹窗版 | 亚洲国产成人在线| 午夜精品久久久久久久久久久| 精品亚洲porn| 91黄色免费观看| 国产视频一区二区在线观看| 亚洲成人av一区二区三区| 成人综合婷婷国产精品久久| 69堂成人精品免费视频| 韩国av一区二区| 欧美日韩情趣电影| 国产精品国产自产拍在线| 男人的天堂久久精品| 日本精品一区二区三区高清| 国产日韩欧美精品综合| 日韩经典中文字幕一区| 91啪亚洲精品| 国产欧美综合在线观看第十页| 丝袜美腿亚洲综合| 欧美在线999| 日韩理论片一区二区| 国产精品一区二区无线| 9191久久久久久久久久久| 亚洲精品大片www| 成人午夜激情片| 国产无一区二区| 久久91精品国产91久久小草| 欧美日韩不卡一区| 亚洲在线观看免费| 色婷婷综合在线| 18成人在线视频| 成人激情动漫在线观看| 久久久久久综合| 久久99国产精品久久99| 7799精品视频| 午夜精品久久久| 欧美男女性生活在线直播观看| 亚洲欧美国产三级| 99久久国产综合精品麻豆| 国产欧美一区二区精品仙草咪| 韩国精品在线观看| 亚洲精品一区二区在线观看| 麻豆精品视频在线观看视频| 制服视频三区第一页精品| 婷婷综合久久一区二区三区| 欧美午夜电影网| 日日夜夜精品视频天天综合网| 欧美三级午夜理伦三级中视频| 一区二区三区在线观看视频| 日本精品一级二级| 亚洲福中文字幕伊人影院| 欧美另类变人与禽xxxxx| 首页亚洲欧美制服丝腿| 日韩欧美国产系列| 精品亚洲porn| 中文字幕 久热精品 视频在线| 国产精品99久| 亚洲欧洲99久久| 欧美午夜精品久久久久久孕妇| 亚洲超碰精品一区二区| 日韩一区二区不卡| 国产乱码精品一区二区三区av| 国产偷国产偷亚洲高清人白洁| 国产91精品久久久久久久网曝门| 国产精品色一区二区三区| 成人白浆超碰人人人人| 亚洲永久精品大片| 欧美一区二区啪啪| 国产乱子伦一区二区三区国色天香 | 日本不卡一二三| 亚洲精品一区二区三区四区高清| 国产二区国产一区在线观看| 亚洲欧美另类小说| 日韩一级免费观看| 盗摄精品av一区二区三区| 亚洲私人影院在线观看| 69p69国产精品| 丁香亚洲综合激情啪啪综合| 夜夜爽夜夜爽精品视频| 日韩午夜中文字幕| 成人高清视频免费观看|