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

正文內(nèi)容

基于java即時(shí)聊天系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文(參考版)

2025-06-25 20:39本頁(yè)面
  

【正文】 保存聊天記錄:點(diǎn)擊“保存”,則將聊天信息保存在客戶(hù)端中;用戶(hù)退出:點(diǎn)擊“退出”。附錄4:客服端安裝附錄5:使用手冊(cè) 服務(wù)器端安裝服務(wù)器,并運(yùn)行服務(wù)器; 客戶(hù)端安裝客戶(hù)端,并運(yùn)行客戶(hù)端;用戶(hù)注冊(cè):其中要求輸入用戶(hù)昵稱(chēng),性別,年齡,用戶(hù)密碼以及郵箱,其中,昵稱(chēng)必須唯一值。附錄3:服務(wù)器端安裝及使用首先,將系統(tǒng)存放到C:\CHAT目錄下;然后,在安裝完JDK后,對(duì)系統(tǒng)進(jìn)行配置,注要是將path路徑制定到chat中的存儲(chǔ)路徑;最后:“開(kāi)始”“運(yùn)行”,打入“cmd”,進(jìn)入dos系統(tǒng)界面。系統(tǒng)會(huì)顯示java version jdk。先打開(kāi)“開(kāi)始”“運(yùn)行”,打入“cmd”,進(jìn)入dos系統(tǒng)界面。%java_home%\lib\ ()”,與相同“%java_home%有相同意思” 。其值為“.。首先點(diǎn)“新建”,然后在變量名寫(xiě)上java_home,顧名其意該變量的含義就是java的安裝路徑,呵呵,然后在變量值寫(xiě)入剛才安裝的路徑“C:\”;其次在系統(tǒng)變量里面找到path,然后點(diǎn)編輯,path變量的含義就是系統(tǒng)在任何路徑下都可以識(shí)別java命令,則變量值為“%java_home%\bin。path屬性是本來(lái)存在的。打開(kāi)屬性。下來(lái)進(jìn)行一些設(shè)置。附錄2:JDK安裝及使用選擇好安裝路徑。服務(wù)器啟動(dòng)后將顯示服務(wù)器地址和端口號(hào)??蛻?hù)端:操作系統(tǒng)Win9Win2000、Win200WinXP??蛻?hù)端:CPU PIII ,內(nèi)存:256M以上。感謝06級(jí)2班的全體成員,在這個(gè)大家庭中使我學(xué)會(huì)了寬容,忍讓?zhuān)瑘F(tuán)結(jié)與互助。再次向于老師獻(xiàn)上誠(chéng)摯的謝意。于老師總是在百忙之中抽出時(shí)間來(lái)為我們解答論文設(shè)計(jì)過(guò)程中的疑惑。 致謝為期一個(gè)學(xué)期的畢業(yè)論文(設(shè)計(jì))已接近尾聲了,我的四年大學(xué)生涯也即將圈上一個(gè)句號(hào)。后來(lái)也在網(wǎng)上找到一些setBounds類(lèi),雖然調(diào)用起來(lái)比較麻煩,但是熟悉后也覺(jué)得不是那么難。最后,在編寫(xiě)這個(gè)聊天程序時(shí)遇到許許多多的問(wèn)題,比如JAVA的圖形化界面如何編寫(xiě),該怎樣布局。即時(shí)通訊服務(wù)器是數(shù)據(jù)中心,它是客戶(hù)活動(dòng)的中介,需要同時(shí)應(yīng)對(duì)眾多客戶(hù)的請(qǐng)求。服務(wù)器在C/S模型中處于一個(gè)中心地位。首先,本系統(tǒng)完全按照軟件工程的瀑布模型進(jìn)行開(kāi)發(fā),雖然缺少部分開(kāi)發(fā)文檔,但本論文則是按照需求分析,概要設(shè)計(jì),詳細(xì)設(shè)計(jì),軟件的運(yùn)行和測(cè)試等的結(jié)構(gòu)進(jìn)行安排的。當(dāng)然,該課題討論的即時(shí)通訊系統(tǒng)是定位于內(nèi)部局域網(wǎng),供班級(jí)內(nèi)部人員使用的通訊系統(tǒng)。 lazy指定是否采用延遲加載及加載策略,設(shè)置為false,表示此關(guān)聯(lián)對(duì)象不采用延遲加載。 數(shù)據(jù)庫(kù)設(shè)計(jì)。如果流是網(wǎng)絡(luò)套接字流,則可以在另一臺(tái)主機(jī)上或另一個(gè)進(jìn)程中重構(gòu)對(duì)象??梢允褂?ObjectInputStream 讀取(重構(gòu))對(duì)象。 //收來(lái)自服務(wù)器的信息由于上文以對(duì)很多方法進(jìn)行講解,現(xiàn)主要對(duì)ObjectOutputStream進(jìn)行講解。 = strLoginName。toServer=new Socket(strServerIp,1001)。(2)信息輸出本即時(shí)聊天系統(tǒng)的信息輸出原理是將所有輸入信息通過(guò)socket類(lèi)向服務(wù)器發(fā)送,然后直接從服務(wù)器中突出信息。參數(shù)strServerIp為通信協(xié)議的協(xié)議族,1001則為服務(wù)器IP。在上文中,我們講到了catch有拋出異常的作用,而try…catch…也是具有相同的功能,try 塊塊是需要捕獲異常的,因?yàn)槲募锌赡懿淮嬖冢瑫?huì)導(dǎo)致程序崩潰,所以直接捕獲,也可以直接throws 出去,讓調(diào)用該方法的方法去捕獲,從而使程序能夠正常進(jìn)行。 //清空文本框 ()。 (chatobj)。//向服務(wù)器發(fā)送信息 try{ Socket toServer=new Socket(strServerIp,1001)。 =(())。關(guān)鍵代碼如下: public void sendMessage() { =strLoginName。(1)信息發(fā)送用戶(hù)在每次發(fā)送信息時(shí),首先向服務(wù)器發(fā)送的是自己信息和發(fā)送對(duì)象信息,然后再通過(guò)Socket類(lèi)向服務(wù)器發(fā)送信息。使用Socket對(duì)網(wǎng)絡(luò)上某一個(gè)服務(wù)器的某一個(gè)端口發(fā)出連接請(qǐng)求,一旦連接成功,打開(kāi)會(huì)話;會(huì)話完成后,關(guān)閉Socket。執(zhí)行完一次循環(huán)后i的值自動(dòng)加1,()表示在線用戶(hù)的人數(shù),(User)表示顯示用戶(hù)的昵稱(chēng)。 }這里采用了for循環(huán),定義變量i,初值為0,只要i滿(mǎn)足。i++) { String User=(String)(i)。其實(shí)現(xiàn)代碼如下:for (int i=0。 在線用戶(hù)顯示設(shè)計(jì)用戶(hù)完成登錄后,客戶(hù)端與服務(wù)器端建立連接。 }}}該語(yǔ)句表示的意思為接受用戶(hù)登陸信息,如果用戶(hù)名或者密碼為空,則彈出提示信息,如果不為空,則調(diào)用login方法。 } else { strServerIp=()。 if ((btnLogin)) { if(().equals() || ().equals()) { JOptionPane op1=new JOptionPane()。最后,如果通過(guò)驗(yàn)證,得到一個(gè)標(biāo)志,進(jìn)入聊天主窗體,否則彈出登錄失敗的對(duì)話框,讓用戶(hù)重新登錄。從中獲取登錄填寫(xiě)的信息,根據(jù)用戶(hù)名和密碼在數(shù)據(jù)庫(kù)中查找數(shù)據(jù),如果能夠找到表示登錄成功,反之,登錄不成功。而在服務(wù)器端,有一個(gè)主線程專(zhuān)門(mén)創(chuàng)建SOCKET服務(wù),等待客戶(hù)端的連接,每當(dāng)客戶(hù)端發(fā)起連接的申請(qǐng)時(shí),與之建立連接,并創(chuàng)建一個(gè)線程,將建立的連接交給這個(gè)線程處理,并將連接存入一個(gè)集合中,用于后續(xù)業(yè)務(wù)的處理。見(jiàn)圖7。如在類(lèi)Register中,當(dāng)鼠標(biāo)點(diǎn)擊“確定”按鈕時(shí),則會(huì)觸發(fā)類(lèi)JButton定義的變量btnOk,并且為其賦值,進(jìn)而調(diào)用setToolTipText方法,將注冊(cè)信息進(jìn)行保存。JButton btnOk,btnCancel,btnClear。 (250,135,80,25)。)。 (39。JButton btnOk,btnCancel,btnClear?,F(xiàn)對(duì)部分關(guān)鍵語(yǔ)句進(jìn)行講解。 用戶(hù)注冊(cè)模塊當(dāng)用戶(hù)向服務(wù)器端發(fā)出注冊(cè)請(qǐng)求后,客戶(hù)端將向服務(wù)器發(fā)送客戶(hù)傳遞的信息,諸如客戶(hù)的昵稱(chēng)、性別、個(gè)人資料等信息。服務(wù)器與客戶(hù)都通過(guò)構(gòu)造BufferedReader、PrintWriter來(lái)建立輸入流和輸出流,雙方通過(guò)該輸入流和輸出流來(lái)相互傳遞信息。下面就來(lái)解決這樣一個(gè)問(wèn)題。新建用戶(hù)的過(guò)程是這樣的:首先使用Register_Customer()方法加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)類(lèi);()方法獲取數(shù)據(jù);在獲取注冊(cè)名時(shí),進(jìn)行判斷,查看用戶(hù)名是否重復(fù),如果重復(fù),則向客戶(hù)端彈出提示信息,見(jiàn)圖6;如果不重復(fù),服務(wù)器接收客戶(hù)端用戶(hù)發(fā)送的昵稱(chēng)、密碼、用戶(hù)Email等信息,執(zhí)行數(shù)據(jù)庫(kù)添加操作完成用戶(hù)的創(chuàng)建;最后向用戶(hù)反饋?zhàn)?cè)成功信息。符合不符合登陸系統(tǒng)輸入信息驗(yàn)證進(jìn)入系統(tǒng)圖5 用戶(hù)登錄流程圖 注冊(cè)處理模塊新建用戶(hù)是即時(shí)通訊工具的一個(gè)基本功能。服務(wù)器接收到客戶(hù)端發(fā)送過(guò)來(lái)的號(hào)碼和密碼信息后,設(shè)定數(shù)據(jù)庫(kù)查尋條件,并執(zhí)行數(shù)據(jù)庫(kù)查尋,通過(guò)比較輸入的用戶(hù)名和密碼數(shù)據(jù)庫(kù)信息來(lái)卻請(qǐng)用戶(hù)的登錄是否成功。 登錄驗(yàn)證模塊系統(tǒng)的登錄模塊是比較重要的,這是用戶(hù)的一個(gè)身份驗(yàn)證,是通訊系統(tǒng)必須的一個(gè)功能模塊。Connection con表示連接用戶(hù)信息。 } } catch (IOException e) { log(e, 不能監(jiān)聽(tīng)!)。public void run() { try {while (start) { Socket client = ()。 }這是一條if條件判斷語(yǔ)句,它表示變量start如果不為空,那么執(zhí)行語(yǔ)句第一個(gè)大括號(hào)中的語(yǔ)句,如果為空,則執(zhí)行else中的語(yǔ)句。 log(null,服務(wù)器已啟動(dòng).. )。值得強(qiáng)調(diào)的是布爾型數(shù)據(jù)只有兩個(gè)值true和false,并且它們不對(duì)應(yīng)人數(shù)整數(shù)值。其中,static是關(guān)鍵字,表示靜態(tài)變量,Boolean表示變量類(lèi)型為布爾型,變量名為newMessage。這條語(yǔ)言表示的意思就是聲明一個(gè)公共類(lèi)AppServer,用子類(lèi)Thread繼承父類(lèi)AppServer中的一些變量。圖4 服務(wù)器啟動(dòng)界面現(xiàn)就其中一些核心代碼進(jìn)行講解??蛻?hù)端只在需要的時(shí)候向服務(wù)器端發(fā)出連接請(qǐng)求。主服務(wù)器類(lèi)調(diào)用Se
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1