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

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

?? myservice.java

?? 聊天系統。1、聊天 2、傳文件 3、多人聊天
?? JAVA
字號:

package com.server;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement ;
import java.util.Enumeration;
import java.util.Hashtable;

/**
 * @author gt.Cloud
 * 
 * TODO 要更改此生成的類型注釋的模板,請轉至 窗口 - 首選項 - Java - 代碼樣式 - 代碼模板
 */
public class MyService extends Thread {
	private Socket s;

	private Hashtable ht;

	public void setSocket(Socket s) {
		this.s = s;
	}

	public void setHashtable(Hashtable ht) {
		this.ht = ht;
	}

	public void run() {
		try {
			//(3)
			//接收用戶名&密碼
			InputStream is = s.getInputStream();
			InputStreamReader isr = new InputStreamReader(is);
			BufferedReader br = new BufferedReader(isr);

			String upa = br.readLine();

			//(4)
			//拆分用戶名&密碼
			String u = "";
			String p = "";
			String a = "";
			try {
				u = upa.split("%")[0];
				p = upa.split("%")[1];
				a = upa.split("%")[2];
			} catch (Exception ee) {
			}

			//(5)
			//到數據庫中驗證
			
			
			Connection cn = DataBase.getConnection() ;
			System.out.println (cn) ;
			PreparedStatement ps = cn
				.prepareStatement("select * from info where username=? and pass=? and author=?");
			ps.setString(1, u);
			ps.setString(2, p);
			ps.setString(3, a);

			ResultSet rs = ps.executeQuery();

			//(7)
			//發送信息回客戶端
			OutputStreamWriter osw = new OutputStreamWriter(s.getOutputStream());
			PrintWriter pw = new PrintWriter(osw, true);

			if (rs.next()) {
				pw.println("OK");
				//(17)
				//將所有Hashtable中也有的用戶名發送給自己
				Enumeration em = ht.keys();
				while (em.hasMoreElements()) {
					String tu = (String) em.nextElement();

					pw.println("user%" + tu);
				}

				//(18)
				//向所有Hashtable中已有的用戶發送自己的名字
				em = ht.elements();
				while (em.hasMoreElements()) {
					Socket ts = (Socket) em.nextElement();

					OutputStreamWriter tosw = new OutputStreamWriter(ts
							.getOutputStream());
					PrintWriter tpw = new PrintWriter(tosw, true);

					tpw.println("user%" + u);
				}

				//(15)
				//將用戶名&Socket存入Hashtable
				ht.put(u, s);

				//(11)
				//等待接收客戶端發來的聊天信息
				while (true) {
					String message = br.readLine();
					
					if(message.equals("{exit}")){
						ht.remove(u) ;
						
						em = ht.elements() ;
						while(em.hasMoreElements()){
							Socket ts = (Socket)em.nextElement() ;
							
							PrintWriter tpw = new PrintWriter(new OutputStreamWriter(ts.getOutputStream()) , true) ;
							
							tpw.println("remove%"+u) ;
						}
					}

					if (message.split("%")[0].equals("file")) {
						//發送文件
						String user = message.split("%")[1];
						String filename = message.split("%")[2];

						Socket ts = (Socket) ht.get(user);
						OutputStream tos = ts.getOutputStream();
						PrintWriter tpw = new PrintWriter(
								new OutputStreamWriter(tos), true);

						tpw.println("file%" + filename );
						byte tmp[] = new byte[4096];

						int ll = 0;
						while (ll != -1) {
							ll = is.read(tmp);
							tos.write(tmp, 0, ll);
						}

					}
					if(message.split("%")[0].equals("add")){
						String user = message.split("%")[1] ;
						String username = message.split("%")[2] ;
						String email = message.split("%")[3] ;
						String author = message.split("%")[4] ;
						Connection a_cn = DataBase.getConnection() ;
						Statement a_st = a_cn.createStatement() ;
						boolean flag = a_st.execute("insert into info values('"+username+"','123','"+email+"','"+author+"')") ;
						Socket a_socket = (Socket)ht.get(user) ;
						PrintWriter a_pw = new PrintWriter(new OutputStreamWriter(a_socket.getOutputStream()),true) ;						
						if(!flag){
							a_pw.println("add_ok") ;
						}else{
							a_pw.println("add_err") ;
						}
					}
					if(message.split("%")[0].equals("note")){
						em = ht.elements() ;
						String user = message.split("%")[1] ;
						Socket socket = (Socket)ht.get(user) ;
						String note = message.split("%")[2] ;
						while(em.hasMoreElements()){							
							Socket ts = (Socket)em.nextElement() ;

								PrintWriter tpw = new PrintWriter(new OutputStreamWriter(ts.getOutputStream()) , true) ;							
								tpw.println("note%"+note) ;
														
						}
					}
					if(message.split("%")[0].equals("modifypass")){
						Connection m_cn = DataBase.getConnection() ;
						Statement m_st = m_cn.createStatement() ;
						int temp = m_st.executeUpdate("update info set pass='"+message.split("%")[2]+"'") ;
						Socket m_socket = (Socket)ht.get(message.split("%")[1]) ;
						PrintWriter m_pw = new PrintWriter(new OutputStreamWriter(m_socket.getOutputStream()),true) ;					
						if(temp == 1){
							m_pw.println("modifypass_ok") ;
						}else{
							m_pw.println("modifypass_err") ;
						}													
					}
					if(message.split("%")[0].equals("modify")){
						Connection m_cn = DataBase.getConnection() ;
						Statement m_st = m_cn.createStatement() ;
						int temp = m_st.executeUpdate("update info set email='"+message.split("%")[3]+"',author='"+message.split("%")[4]+"' where username='"+message.split("%")[2]+"'") ;
						Socket m_socket = (Socket)ht.get(message.split("%")[1]) ;
						PrintWriter m_pw = new PrintWriter(new OutputStreamWriter(m_socket.getOutputStream()),true) ;					
						if(temp == 1){
							m_pw.println("modify_ok") ;
						}else{
							m_pw.println("modify_err") ;
						}
							
					}
					if(message.split("%")[0].equals("remove")){
						Connection r_cn = DataBase.getConnection() ;
						Statement r_st = r_cn.createStatement() ;
						Socket r_socket = (Socket)ht.get(message.split("%")[1]) ;						
						PrintWriter r_pw = new PrintWriter(new OutputStreamWriter(r_socket.getOutputStream()),true) ;
					
						boolean flag = r_st.execute("delete from info where username='"+message.split("%")[2]+"'") ;
						if(!flag)
							r_pw.println("remove_ok") ;
						else	
							r_pw.println("remove_err") ;
					}
					if(message.split("%")[0].equals("find")){
						String user = message.split("%")[1] ;
						String finduser = message.split("%")[2];
						
						Socket ts = (Socket)ht.get(user) ;
						
						Connection findcn = DataBase.getConnection() ;
						Statement findst = findcn.createStatement() ;
						ResultSet findrs = findst.executeQuery("select username , email , author from info where username='"+finduser+"'") ;
						String backmess = "" ;
						OutputStream findos = ts.getOutputStream() ;
						PrintWriter findpw = new PrintWriter(new OutputStreamWriter(findos),true) ;						
						if(findrs.next()){
							backmess =findrs.getString(1)+"#"+findrs.getString(2)+"#"+findrs.getString(3) ;
							findpw.println("find"+"%"+backmess) ;
						}else{
							findpw.println("find_err") ;
						}
					} 
					if (message.split("%")[0].equals("xiaoxi")) {
							//發送信息給所有人
							if(message.split("%")[2].equals("All")){
								em = ht.elements();
								while (em.hasMoreElements()) {
									Socket ts = (Socket) em.nextElement();
	
									PrintWriter tpw = new PrintWriter(
											new OutputStreamWriter(ts
													.getOutputStream()), true );
	
									tpw.println("mess%"+u+"對所有人說:" + message.split("%")[3]);
								}														
							}else{
								//發送信息給某個人
								Socket ts = (Socket) ht.get(message.split("%")[2]);
	
								PrintWriter tpw = new PrintWriter(
										new OutputStreamWriter(ts.getOutputStream()) , true);
	
								tpw.println("mess%" +message.split("%")[1]+"對你說:"+message.split("%")[3]);	
							}							
					}
				}
			}else{
				pw.println("err") ;
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩在线卡一卡二| 日韩欧美国产一二三区| 日韩美女视频19| 91福利精品视频| 午夜亚洲福利老司机| 911精品国产一区二区在线| 日韩激情在线观看| 精品国免费一区二区三区| 国内精品在线播放| 国产精品国产三级国产| 在线观看一区不卡| 美女一区二区在线观看| 久久综合99re88久久爱| 91在线视频18| 秋霞午夜鲁丝一区二区老狼| 久久嫩草精品久久久精品| 波多野结衣在线aⅴ中文字幕不卡| 亚洲乱码国产乱码精品精可以看| 欧美日韩一区不卡| 国产美女精品一区二区三区| 国产精品色噜噜| 欧美探花视频资源| 国产sm精品调教视频网站| 亚洲男同性视频| 欧美不卡视频一区| 色综合久久综合网97色综合 | 亚洲乱码精品一二三四区日韩在线| 欧美在线不卡视频| 国产成人免费在线观看不卡| 亚洲综合成人在线视频| 26uuu亚洲综合色| 欧洲激情一区二区| 国产99精品在线观看| 午夜精品一区在线观看| 中文字幕不卡在线| 日韩欧美激情四射| 91成人在线精品| 国产福利一区二区三区视频在线| 一区二区三区丝袜| 国产网站一区二区| 欧美老人xxxx18| 不卡的看片网站| 麻豆精品一二三| 亚欧色一区w666天堂| 国产精品久久久爽爽爽麻豆色哟哟 | 国产精品情趣视频| 宅男在线国产精品| 97精品超碰一区二区三区| 国产剧情一区在线| 喷白浆一区二区| 亚洲自拍偷拍av| 国产精品色婷婷久久58| 亚洲精品一区二区精华| 91麻豆精品国产自产在线| 色吧成人激情小说| 盗摄精品av一区二区三区| 精品夜夜嗨av一区二区三区| 亚洲香肠在线观看| 亚洲乱码日产精品bd| 国产精品你懂的| 欧美国产欧美亚州国产日韩mv天天看完整 | 国产精品免费免费| 久久婷婷色综合| 精品国产一区二区三区不卡| 777奇米成人网| 欧美高清性hdvideosex| 在线观看网站黄不卡| 色香蕉成人二区免费| 成人h版在线观看| av一区二区久久| jlzzjlzz欧美大全| 99re这里只有精品视频首页| 成人污视频在线观看| 国产老肥熟一区二区三区| 国产美女一区二区| 国产白丝精品91爽爽久久| 国产精品一色哟哟哟| 国产麻豆日韩欧美久久| 国内成人免费视频| 国产九九视频一区二区三区| 国内精品视频666| 国产在线国偷精品产拍免费yy| 免费欧美高清视频| 久久99国内精品| 国产麻豆日韩欧美久久| 床上的激情91.| 波波电影院一区二区三区| 97久久人人超碰| 欧美综合一区二区三区| 欧美精品久久99久久在免费线 | 日韩欧美电影一区| 精品免费一区二区三区| 久久久不卡影院| 国产精品视频免费看| 亚洲丝袜美腿综合| 亚洲电影中文字幕在线观看| 日韩av电影天堂| 国产精品一区二区免费不卡| 成人av在线电影| 欧美三级视频在线播放| 91精品在线麻豆| 久久奇米777| 亚洲人精品午夜| 日本麻豆一区二区三区视频| 黄色小说综合网站| 99精品在线免费| 欧美一二三在线| 国产日韩精品一区二区浪潮av | 无码av中文一区二区三区桃花岛| 日韩高清在线不卡| 国产精品亚洲人在线观看| 91久久免费观看| 日韩一级黄色片| 《视频一区视频二区| 日韩精品亚洲一区| 成人毛片老司机大片| 欧美日免费三级在线| 日韩免费高清av| 亚洲欧美一区二区三区孕妇| 日本在线播放一区二区三区| 成人福利视频网站| 91麻豆精品国产91久久久使用方法| 欧美精品一区二区高清在线观看| 亚洲欧洲另类国产综合| 日韩av不卡一区二区| 成人国产一区二区三区精品| 欧美狂野另类xxxxoooo| 欧美激情综合在线| 免费成人在线网站| 色婷婷精品久久二区二区蜜臀av| 精品成人a区在线观看| 一区2区3区在线看| 国产九九视频一区二区三区| 欧美精品一二三区| 亚洲手机成人高清视频| 激情成人午夜视频| 在线看国产日韩| 国产精品丝袜91| 精品一区二区三区不卡| 欧美三级中文字| 国产精品护士白丝一区av| 狠狠色丁香久久婷婷综合_中| 欧美在线观看视频一区二区 | 精品视频在线看| 亚洲天堂久久久久久久| 国产精品香蕉一区二区三区| 日韩欧美一级二级三级久久久| 亚洲影院理伦片| 99在线精品一区二区三区| 久久综合色鬼综合色| 天天色天天操综合| 欧洲人成人精品| 亚洲免费观看在线视频| 国产丶欧美丶日本不卡视频| 日韩久久免费av| 麻豆免费精品视频| 91精品婷婷国产综合久久竹菊| 一区二区成人在线| 91搞黄在线观看| 亚洲欧美日韩国产一区二区三区| 成人国产精品免费观看动漫| 免费欧美在线视频| 4438成人网| 日韩电影在线看| 91精品国产黑色紧身裤美女| 亚洲一区二区三区四区中文字幕| 99精品视频在线观看| 国产精品久久久久影院色老大| 国产91丝袜在线18| 国产精品人成在线观看免费| 成人综合在线网站| 亚洲同性同志一二三专区| 91色.com| 亚洲国产精品久久不卡毛片 | 中文字幕一区二区三区不卡在线| 国产丶欧美丶日本不卡视频| 国产亚洲精品bt天堂精选| 成人在线视频一区| 亚洲欧美综合色| 在线免费观看日本欧美| 亚洲一级二级三级在线免费观看| 在线看国产一区二区| 天堂在线一区二区| 精品国产一区二区在线观看| 久久aⅴ国产欧美74aaa| 国产欧美精品日韩区二区麻豆天美| 国产a久久麻豆| 亚洲精品综合在线| 91精品欧美综合在线观看最新| 蜜臀91精品一区二区三区| 久久蜜桃一区二区| 成人av资源网站| 首页国产丝袜综合| 亚洲精品在线一区二区| 国产.欧美.日韩| 亚洲综合在线免费观看| 欧美精品一卡二卡| 成人一级黄色片| 亚洲第一电影网| 国产三级精品三级在线专区|