freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于java的網(wǎng)絡(luò)即時(shí)通信系統(tǒng)畢業(yè)論文(編輯修改稿)

2025-07-20 22:18 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 富和有用的功能。它具有良好的連通性、速度和安全性,這使的MySQL十分適合于訪問(wèn)Internet上的數(shù)據(jù)庫(kù)。 (5)MySQL服務(wù)器工作在客戶端/服務(wù)器模式下,或嵌入式系統(tǒng)中。MySQL數(shù)據(jù)庫(kù)軟件是一種客戶端/服務(wù)器系統(tǒng),由支持不同后端的1個(gè)多線程SQL服務(wù)器,數(shù)種不同的客戶端程序和庫(kù),眾多管理工具和廣泛的應(yīng)用編程接口API組成。我們還能以嵌入式多線程庫(kù)的形式提供MySQL服務(wù)器,你可以將其鏈接到你的應(yīng)用程序,從而獲得更小、更快、和更易管理的產(chǎn)品。4 系統(tǒng)設(shè)計(jì)本系統(tǒng)主要是模仿聊天系統(tǒng)設(shè)計(jì)的一個(gè)基于C/S結(jié)構(gòu)的簡(jiǎn)單的聊天系統(tǒng)。系統(tǒng)采用的客戶/服務(wù)器摸式其基本結(jié)構(gòu)如圖所示:本系統(tǒng)實(shí)現(xiàn)了簡(jiǎn)單的新用戶注冊(cè),用戶登陸,用戶直接根據(jù)號(hào)碼查找添加好友和根據(jù)在線的用戶信息查找來(lái)添加好友,同時(shí)可以查看在線的用戶信息,向在線的用戶發(fā)送消息,用戶接收消息等。系統(tǒng)功能圖如下所示:即時(shí)聊天系統(tǒng)用戶登陸用戶注冊(cè)直接查找好友好友查找更新用戶信息更新用戶刪除好友信息查看發(fā)送信息接收信息系統(tǒng)可以采用任何一種流行的Java支持的數(shù)據(jù)庫(kù)。本系統(tǒng)采用了MySQL作為后臺(tái)數(shù)據(jù)庫(kù)。通過(guò)對(duì)現(xiàn)在流行的聊天軟件ICQ進(jìn)行參考,建立數(shù)據(jù)庫(kù),名為javaicq。數(shù)據(jù)庫(kù)共建立兩個(gè)表,一個(gè)是用戶的基本信息,包括呢稱及Jicq號(hào)碼等。一個(gè)是用戶的好友列表,包括用戶自己的號(hào)碼和好友的號(hào)碼。(1)用戶的基本信息表(表名icq)序號(hào) 字段名 含義 數(shù)據(jù)類型 NULL1 Icqno 用戶的號(hào)碼 int No2 Nickname 用戶的呢稱 Char No3 Password 用戶的密碼 Char No4 Status 用戶在線否 Bit No5 Ip 用戶的IP地址 Char Yes6 Info 用戶的資料 Varchar Yes7 Pic 用戶的頭像號(hào) Int Yes8 Sex 用戶性別 Char Yes9 Email 用戶的 Char Yes10 Place 用戶的籍貫 Char yes其中Icqno字段為自動(dòng)增加。(其他還可以添加諸如電話號(hào)碼等字段作為更多選擇)(2)用戶的好友表(表名friend)序號(hào) 字段名 含義 數(shù)據(jù)類型 NULL1 Icqno 用戶的號(hào)碼 Int No2 Friend 好友的號(hào)碼 Int No5 詳細(xì)的設(shè)計(jì)與實(shí)現(xiàn)服務(wù)器與客戶間通過(guò)套接口Socket(TCP)連接。在java中使用套接口相當(dāng)簡(jiǎn)單,Java .,使得編寫網(wǎng)絡(luò)應(yīng)用程序相對(duì)容易.服務(wù)器采用多線程以滿足多用戶的請(qǐng)求,通過(guò)JDBC與后臺(tái)數(shù)據(jù)庫(kù)連接,并通過(guò)創(chuàng)建一個(gè)ServerSocket對(duì)象來(lái)監(jiān)聽(tīng)來(lái)自客戶的連接請(qǐng)求,默認(rèn)端口為8080,然后無(wú)限循環(huán)調(diào)用accept()方法接受客戶程序的連接。具體實(shí)現(xiàn)代碼如下所示:class ServerThread extends Thread{//繼承線程private Socket socket。//定義套接口private BufferedReader in。//定義輸入流private PrintWriter out。//定義輸出流int no。//定義申請(qǐng)的jicq號(hào)碼int number。public ServerThread(Socket s , int num) throws IOException {//線程構(gòu)造函數(shù) number =num。 socket=s。//取得傳遞參數(shù) in=new BufferedReader(new InputStreamReader(()))。//創(chuàng)建輸入流 out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(())),true)。//創(chuàng)建輸出流 start()。//啟動(dòng)線程 }public void run(){ //線程監(jiān)聽(tīng)函數(shù) try{ while(true){ String str=()。//取得輸入字符串 if((end))break。//如果是結(jié)束就關(guān)閉連接else if((login)) {//如果是登錄 try{ ()。 Connection c= ( jdbc:mysql://localhost/javaicq,root, )。 String icqno=()。 int g=(icqno)。//取得輸入的jicq號(hào)碼 String passwd=().trim()。//取得輸入的密碼 String sql=select nickname,password from icq where icqno=39。+icqno+39。 Statement prepare= ()。 ResultSet r=(sql)。//執(zhí)行數(shù)據(jù)庫(kù)查尋 if(()){//以下比較輸入的號(hào)碼于密碼是否相同 String pass=(password).trim()。 // (pass)。 if((0,pass,0,())) { (ok)。 String ip = ().getHostAddress()。 String setip=update icq set ip=39。+ip+39。where icqno=39。+icqno+39。 Statement prest= ()。 int set =(setip)。 String status=update icq set status=1 where icqno=39。+icqno+39。 Statement set2= ()。 (status)。 (set2)。 //set online}//否者告訴客戶失敗 else (false)。()。()。} else{ (false)。 (false)。 ()。 ()。} }catch (Exception e){()。} ()。 }//end login //登錄結(jié)束 //以下為處理客戶的新建請(qǐng)求 else if((new)){ number=number+1。 try{ ()。 Connection c2= ( jdbc:mysql://localhost/javaicq,root, )。 //準(zhǔn)備接受用戶的呢稱,密碼,,個(gè)人資料,籍貫,頭像等信息 //PreparedStatement prepare2=(newsql)。 String nickname=().trim()。 String password=().trim()。 String =().trim()。 String info=().trim()。 String place=().trim()。 int picindex=(())。 String newsql=insert into icq(icqno,nickname,password,,info,place,pic) values(39。+number+39。,39。+nickname+39。,39。+password+39。,39。++39。,39。+info+39。,39。+place+39。,39。+picindex+39。)。 //int r3=()。//執(zhí)行數(shù)據(jù)庫(kù)添加 Statement pre2 =()。 (newsql)。 String sql2=select icqno from icq where nickname=39。+nickname+39。//以下告訴客戶其注冊(cè)的號(hào)碼 Statement pre3 =()。 ResultSet r2 = (sql2)。 while(()){ //((1))。 no=(1)。 (no)。 } (no)。 (ok)。 ()。//完畢 }catch (Exception e){()。(false)。} ()。 }//end new//新建用戶結(jié)束//以下處理用戶查找好友else if((find)){ try{ ()。 Connection c3= ( jdbc:mysql://localhost/javaicq,root, )。 //以下連接數(shù)據(jù)庫(kù),并且返回其他用戶的呢稱,性別,籍貫,個(gè)人資料等信息 String find=select nickname,sex,place,ip,,info from icq。 Statement st=()。 ResultSet result=(find)。 while(()){ ((nickname))。 ((sex))。 ((place))。 ((ip))。 (())。 ((info))。 }//while end (over)。 int d,x。boolean y。//以下返回用戶的jicq號(hào)碼,頭像號(hào),及是否在線 ResultSet iset=(select icqno,pic,status from icq)。 while(()){ d=(icqno)。 (d)。 x=(pic)。//pic info (x)。 y=(status)。 if (y){(1)。} else {(0)。} //(d)。 } ()。 ()。()。}catch (Exception e){()。(false)。}//()。}//end find//查找好友結(jié)束//以下處理用戶登錄時(shí)讀取其好友資料else if((friend)){ try{ ()。 Connection c4= ( jdbc:mysql://localhost/javaicq,root, )。 //以下連接好友表,返回用戶的好友名單 int icqno=(())。 (icqno)。 // (1,icqno)。 String friend=select friend from friend where icqno=39。+icqno+39。 Statement pre4=()。 ResultSet r4=(friend)。 Vector friendno=new Vector()。//該矢量保存好友號(hào)碼 while(()){ (new Integer((1)))。 }//以下告訴客戶其好友的呢稱,號(hào)碼,ip地址,狀態(tài),頭像,個(gè)人資料等信息 (())。 for(int i=0。i()。i++){ String friendinfo=select nickname,icqno,ip,status,pic,,info from icq where icqno=39。+(i)+39。 Statement pre5 =()。 ResultSet r5=(friendinfo)。 boolean status。 while(()){ ((nickname))。 ((icqno))。 ((ip))。
點(diǎn)擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1