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

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

?? servercontroller.java

?? 簡單的qq聊天室!!!!!!!!!!!!!!!
?? JAVA
字號:
package qq.server;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.net.Socket;import java.util.*;import qq.dao.hibernate.IServiceDao;import qq.entity.*;public class ServerController {	private User user;	private Socket s;	private IServiceDao dao;	private ObjectInputStream ois;	private ObjectOutputStream oos;	private OnlineUser onlineUser;		public ServerController(Socket s) {		super();		dao=ServerMainClass.userDao;		this.s = s;	}	 	public void handle() throws Exception {		ois=new ObjectInputStream(s.getInputStream());		oos=new ObjectOutputStream(s.getOutputStream());		onlineUser=new OnlineUser(ois,oos);		while(true){			Request req=(Request)ois.readObject();			ois.read();			RequestType type=req.getType();			if(type.equals(RequestType.exit)){				exitHandle();				break;			}else if(type.equals(RequestType.login)){				loginHandle(req);			}else if(type.equals(RequestType.register)){				registerHandle();			}else if(type.equals(RequestType.offline)){				offlineHandle();				break;			}else if(type.equals(RequestType.changeInformation)){				changeInformationHandle();			}else if(type.equals(RequestType.modifypasswd)){				modifypasswdHandle(req);			}else if(type.equals(RequestType.sendMessage)){				sendMessageHandle(req);			}else if(type.equals(RequestType.receiveFile)){				receiveFileHandle(req);			}else if(type.equals(RequestType.sendFile)){				sendFileHandle(req);			}		}	}	private void modifypasswdHandle(Request req) {		Long id=Long.parseLong(req.getData("id"));		String oldpwd=req.getData("oldpwd");		String newpwd=req.getData("newpwd");		Response res=new Response(RequestType.modifypasswd);		try {			dao.updatePwd(id, oldpwd, newpwd);			res.setData(1);			try {				oos.writeObject(res);			} catch (IOException e) {				e.printStackTrace();			}		} catch (RuntimeException e) {			try {				oos.writeObject(res);			} catch (IOException e1) {				e1.printStackTrace();			}		}	}	private void changeInformationHandle() {		try {			User user=(User)ois.readObject();			Response res=new Response(RequestType.changeInformation);			try {				dao.updateUser(user);				res.setData(1);//修改成功返回值帶一個整形值				oos.writeObject(res);				oos.flush();			} catch (RuntimeException e) {				oos.writeObject(res);//失敗則返回值不帶參數				oos.flush();				e.printStackTrace();			}		} catch (IOException e) {			e.printStackTrace();		} catch (ClassNotFoundException e) {			e.printStackTrace();		}	}	private void exitHandle() {		try {			s.close();		} catch (IOException e) {			e.printStackTrace();		}	}	//發送文件	private void sendFileHandle(Request req) {//		try {//			User u=(User)ois.readObject();//			//		} catch (Exception e) {//			e.printStackTrace();//		} 	}	//接受文件	private void receiveFileHandle(Request req) {			}			//發送消息	private void sendMessageHandle(Request req) {		Response res=new Response(RequestType.receiveMessage);		Message message=null;		try {			message=(Message)ois.readObject();			res.setData(message);		} catch (IOException e) {			e.printStackTrace();		} catch (ClassNotFoundException e) {			e.printStackTrace();		}		User to=message.getTo();		if(to==null){			sendToAllUser(res);//如果收信人為null,則發送信息給所有人		}else{			//發送信息給to和他自己			Response res1=new Response(RequestType.individualTalk);			res1.setData(message);			ObjectOutputStream o=null;			Set<User>set=ServerMainClass.userMap.keySet();			Iterator it=set.iterator();			while(it.hasNext()){				User u=(User)it.next();				if(u.equals(to)){					o=ServerMainClass.userMap.get(u).getOos();					break;				}							}			try {				o.writeObject(res1);				o.flush();			} catch (IOException e) {				e.printStackTrace();			}		}	}	//下線	private void offlineHandle() {		try {			ServerMainClass.userMap.remove(user);			Response res=new Response(RequestType.offline);			res.setData(user);//把下線用戶發送給所有客戶端			sendToAllUser(res);			s.close();		} catch (IOException e) {			e.printStackTrace();		}	}	private void registerHandle() {		User user=dao.addUser();		try {			oos.writeObject(user);			System.out.println(user.getId()+":"+user.getName());			oos.flush();		} catch (IOException e) {			e.printStackTrace();		}	}	//登錄	private void loginHandle(Request req) {		Long id=Long.parseLong((String)req.getData("id"));		String pwd=(String)req.getData("pwd");		user=dao.getUser(id,pwd);		Response res;		try {			Set<User>users=ServerMainClass.userMap.keySet();			Iterator iter=users.iterator();			while(iter.hasNext()){				User u=(User)iter.next();				if(u.equals(user)){					res=new Response(RequestType.haveOnline);					oos.writeObject(res);					oos.flush();					return;//該用戶已經在線				}							}			res=new Response(RequestType.online);			res.setData(user);			oos.writeObject(res);			oos.flush();//				給剛上線用戶發送在線用戶列表			if(user!=null){				Set<User>set=ServerMainClass.userMap.keySet();				oos.write(set.size());				Iterator it=set.iterator();				while(it.hasNext()){					oos.writeObject(it.next());				}				oos.flush();				sendToAllUser(res);//通知在線用戶有新用戶上線				ServerMainClass.userMap.put(user, onlineUser);//保存用戶信息			}		} catch (IOException e) {			e.printStackTrace();		}	}	private void sendToAllUser(Response res){		try {			 Collection c= ServerMainClass.userMap.values();			Iterator it=c.iterator();			while(it.hasNext()){				ObjectOutputStream o=((OnlineUser)it.next()).getOos();				o.writeObject(res);				o.flush();			}		} catch (IOException e) {			e.printStackTrace();		}	}}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品成人一区二区三区| 亚洲在线观看免费视频| 蜜桃视频在线观看一区| 4438x亚洲最大成人网| 欧美aⅴ一区二区三区视频| 亚洲精品在线电影| 99久久精品国产网站| 一区二区三区电影在线播| 日韩欧美的一区| 成人动漫在线一区| 日本亚洲欧美天堂免费| 亚洲免费av高清| 精品久久久久久久久久久久久久久久久| 床上的激情91.| 久久国产精品色| 亚洲最快最全在线视频| 亚洲一区二区三区四区五区黄| 亚洲国产日韩在线一区模特 | 国产精品亚洲专一区二区三区| 国产精品国产三级国产普通话蜜臀| 欧美亚洲一区二区在线观看| 激情久久五月天| 亚洲国产精品一区二区尤物区| 婷婷丁香久久五月婷婷| 亚洲图片另类小说| 亚洲国产成人自拍| 日韩欧美不卡一区| 国产精品污www在线观看| 精品91自产拍在线观看一区| 国产精品视频你懂的| 亚洲国产精品综合小说图片区| 日本免费在线视频不卡一不卡二| 狠狠色2019综合网| 色婷婷久久综合| 国产大陆精品国产| 激情五月婷婷综合网| 91影院在线免费观看| 成人av网址在线| 在线综合+亚洲+欧美中文字幕| 久久久久久久久久看片| 日韩精品专区在线影院观看| 中文字幕一区视频| 国产精品热久久久久夜色精品三区| 一区二区三区在线观看视频| 激情五月播播久久久精品| 在线视频观看一区| 欧美在线观看视频一区二区三区| 日韩欧美卡一卡二| 亚洲大型综合色站| 日韩和欧美一区二区三区| 成人av在线播放网址| 日韩欧美的一区| 亚洲成人三级小说| 99精品在线观看视频| 久久久综合视频| 免费看黄色91| 欧美电影在线免费观看| 欧美大片在线观看一区二区| 亚洲综合激情网| 91美女片黄在线| 国产精品国产精品国产专区不蜜 | 欧美不卡一二三| 丝袜a∨在线一区二区三区不卡| 成人动漫av在线| 国产欧美精品一区二区三区四区| 国产精品剧情在线亚洲| 国产毛片精品一区| 91美女福利视频| 国产精品看片你懂得| 白白色亚洲国产精品| 欧美色成人综合| 精品国产乱码久久久久久老虎| 日韩在线a电影| 7878成人国产在线观看| 日韩福利电影在线| 91精品国产免费| 中文字幕永久在线不卡| zzijzzij亚洲日本少妇熟睡| 国产精品激情偷乱一区二区∴| 成人午夜看片网址| 国产精品成人午夜| 91美女片黄在线| 亚洲午夜影视影院在线观看| 欧美日韩一二区| 美女性感视频久久| 精品久久久久久无| 成人深夜在线观看| 亚洲美女精品一区| 欧美性三三影院| 日本美女一区二区| 国产午夜三级一区二区三| 亚洲黄网站在线观看| 国产一区二区福利| 国产精品天干天干在观线| 99国内精品久久| 亚洲第一主播视频| 久久在线免费观看| 青青草视频一区| 国产日韩欧美a| 色香色香欲天天天影视综合网| 午夜a成v人精品| 日韩欧美美女一区二区三区| 丁香激情综合国产| 亚洲国产欧美一区二区三区丁香婷| 在线电影院国产精品| 国产盗摄一区二区| 亚洲小少妇裸体bbw| 精品日韩成人av| 91在线观看地址| 久久99精品国产| 欧美一区二区三区思思人| 国产91富婆露脸刺激对白| 精品国产1区2区3区| 一本大道av伊人久久综合| 免费久久99精品国产| 亚洲丝袜精品丝袜在线| 日韩美女主播在线视频一区二区三区| 成人夜色视频网站在线观看| 五月激情综合网| 中文字幕字幕中文在线中不卡视频| 日韩亚洲国产中文字幕欧美| 麻豆成人久久精品二区三区小说| 国产精品不卡在线观看| 欧美一卡二卡三卡| 色综合天天性综合| 亚洲三级久久久| 精品99一区二区三区| 欧美日韩国产免费一区二区| 亚洲超碰精品一区二区| 国产精品久久久久久久浪潮网站| 91精品国产综合久久久久久久 | 日韩va欧美va亚洲va久久| 中文字幕一区二区三区色视频| 欧美一级二级三级蜜桃| 欧美午夜视频网站| 色综合久久88色综合天天6| 国产成人综合在线播放| 久久国产精品免费| 蜜臀91精品一区二区三区| 亚洲影院免费观看| 亚洲黄色av一区| 国产精品欧美综合在线| 国产日韩欧美综合一区| 精品美女在线观看| 精品国产欧美一区二区| 日韩欧美一区二区久久婷婷| 欧美日韩免费一区二区三区 | 中文字幕的久久| 久久久久久免费| 国产日韩欧美不卡在线| 国产性做久久久久久| 国产欧美一区二区在线观看| www激情久久| 日本一区二区三区电影| 国产精品久久久久久久久免费樱桃| 国产三级精品三级在线专区| 国产日韩v精品一区二区| 欧美国产精品一区二区| 国产精品电影院| 亚洲蜜臀av乱码久久精品| 亚洲综合av网| 日本中文一区二区三区| 日韩电影在线观看电影| 另类中文字幕网| 国产福利不卡视频| 暴力调教一区二区三区| 欧美最猛黑人xxxxx猛交| 欧美色偷偷大香| 精品国产污污免费网站入口| 国产欧美日韩精品在线| 亚洲欧美日韩久久| 图片区小说区区亚洲影院| 麻豆91免费看| 波多野结衣的一区二区三区| 在线观看91精品国产入口| 欧美男同性恋视频网站| 亚洲精品在线网站| 亚洲欧洲精品天堂一级| 亚洲成人av一区二区三区| 精品综合久久久久久8888| 成人免费不卡视频| 欧美日韩国产影片| 久久噜噜亚洲综合| 艳妇臀荡乳欲伦亚洲一区| 久久国产三级精品| 91女人视频在线观看| 欧美成人高清电影在线| 中文字幕视频一区| 美女视频一区在线观看| 99精品偷自拍| 2020国产精品自拍| 亚洲一区二区成人在线观看| 国内精品久久久久影院薰衣草| 91亚洲大成网污www| 欧美精品一区二区三区四区 | 成人国产亚洲欧美成人综合网| 在线免费观看视频一区| 久久精品欧美日韩| 奇米色一区二区| 欧美在线免费视屏|