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

正文內(nèi)容

本科畢業(yè)論文-基于java的多人網(wǎng)絡聊天室設計-文庫吧資料

2025-06-11 17:00本頁面
  

【正文】 1))。 } return jTextFieldRegUserName。 } /** * This method initializes jTextFieldRegUserName * * return */ private JTextField getJTextFieldRegUserName() { if (jTextFieldRegUserName == null) { jTextFieldRegUserName = new JTextField()。 (getJButtonLogin(), null)。 (getJTextFieldRegRepassword(), null)。 (getJTextFieldRegUserName(), null)。 (jLabelRegPassword, null)。 (null)。 ( 昵 稱: )。 (new Rectangle(15, 31, 357, 47))。 ( 密 碼: )。 (new Rectangle(15, 94, 357, 47))。 ( 確認密碼: )。 (new Rectangle(15, 162, 357, 47))。 } return jFrame。 (new () { public void windowClosing( e) { (0)。 (false)。 (new Dimension(398, 337))。 (null)。 ().setVisible(true)。 public Reg(LinkInfo linkInfo){ = linkInfo。 // jve:declindex=0: private GetServerInfo gif。 private InputStream in。 public JButton jButtonReg = null。 private JPasswordField jTextFieldRegPassword = null。 private JLabel jLabelRegRepassword = null。 private JLabel jLabelRegUserName = null。 } public class Reg { private JFrame jFrame = null。 } })。 (new () { public void actionPerformed( e) { //如果點擊了去注冊按鈕 //關閉登陸框 closeFrame()。 (new Rectangle(295, 214, 82, 28))。 } } }catch(Exception e){ ()。 ((), out)。 //發(fā)送登陸請求 (, out)。 } //登陸過程中,使登陸界面上的登 陸按鈕不可用 (false)。 } // 如果獲取來自服務器端信息的線程沒有啟動,則啟動該線程 if(gif==null){ gif = new GetServerInfo()。!().equals()){ if(in==null){ in = ().getInputStream()。()!=nullamp。!jTextFieldLoginUserN().equals()amp。 if(()!=null){ //做一些簡單的驗證,實際上這里應該有比較復雜的驗證,比如敏 感字符 if(()!=nullamp。 } return jButtonLogin。 (new () { public void actionPerformed( e) { //當點擊了登陸按鈕時,調(diào)用登陸方法 doLogin()。 (new Rectangle(143, 162, 120, 41))。 } return jTextFieldLoginPassword。 (new () { public void keyPressed( e) { if(()==){ //當在密碼框中按回車時,調(diào)用登陸方法 doLogin()。 } /** * This method initializes jTextFieldLoginPassword * * return */ private JTextField getJTextFieldLoginPassword() { if (jTextFieldLoginPassword == null) { jTextFieldLoginPassword = new JPasswordField()。 } } })。 (new Rectangle(84, 56, 266, 33))。 } return jContentPane。 (getJButtonLogin(), null)。 (getJTextFieldLoginUserName(), null)。 (jLabelLoginUserName, null)。 jContentPane = new JPanel()。 (new Font(Dialog, , 14))。 jLabelLoginUserName = new JLabel()。 (new Font(Dialog, , 14))。 } /** * This method initializes jContentPane * * return */ private JPanel getJContentPane() { if (jContentPane == null) { jLabelLoginPassword = new JLabel()。 } })。 (getJContentPane())。 (登陸 )。 } private JFrame getJFrame() { if (jFrame == null) { jFrame = new JFrame()。 } /** * This method initializes jFrame * * return */ public void closeFrame(){ ()。 public Login(LinkInfo linkInfo){ = linkInfo。 private OutputStream out。 private LinkInfo linkInfo。 public JButton jButtonLogin = null。 private JTextField jTextFieldLoginUserName = null。 private JLabel jLabelLoginUserName = null。 第 4 章 系統(tǒng)實現(xiàn) 客戶端界面和功能實現(xiàn) 登錄和注冊界面 登錄界面 登陸界面關鍵代碼 public class Login { private JFrame jFrame = null。 根據(jù)流程圖我們可以得出用戶首先要通過登錄界面成功通過用戶名和用戶密碼的驗證,就可以成功進入聊天室進行多人聊天和用戶私聊,如果沒有帳號,則需要通過注 冊將用戶信息存儲到服務器端,然后登錄。 用戶之間的信息傳輸也是通過服務器端的中轉(zhuǎn)處理,然后通過線程和 I/O 流傳輸給另一個用戶,服務器端還有一個作用就是存儲和中轉(zhuǎn)用戶的信息和資料,通過線程獲取客戶端信息,然后從 Soket 那里得到用戶要傳遞和存儲的信息,使用 I/O 流進行處理分析,最后存儲到文件中或傳遞給用戶。 服務器端系統(tǒng)分析 服務器端的的主要作用通過 ServerSocket 在服務器上建立一個服務器端口號,通過 Socket 使用這個 Socket 端口號將客戶端與服務器端相連接。也可以向另一個用戶發(fā)送文件和資料,在聊天窗口界面上有一個傳輸文件按鈕,點擊即可從電腦上選擇文件傳輸給另一個用戶,在這里我們首先是采用 socket 建立 Client 和 Server 的信息連接,這樣多個客戶端之間才能通過 Server 傳遞消息,其中客戶端和服務端的發(fā)送和接受信息都是要通過 I/O 流進行解析和傳遞復制信息的,每個客戶端對應一個線程進行處理這個客戶端的所有事務,客戶端對應線程會處理服務器端傳輸過來的信息然后傳遞給用戶顯示在用戶聊天界面,所以采用了多線程技術,客戶端不僅要接受服務端傳輸過來的信息,也要對服務器進行信息反饋,所以要有一個專門的線程給服務端服務。 用戶列表信息界面是要在成功登錄后,彈出的一個展示用戶的好友信息的一個列表,在上面有一個群聊按鈕,點擊群聊按鈕將會彈出群聊窗口進行多人聊天,也可以雙擊好友昵稱進行私聊,這個功能是通過界面的點擊事件,然后傳遞信息的,觸發(fā)事件之后通過數(shù)據(jù)流和節(jié)點處理進行分析和處理,從而判斷用戶是否要使用私聊或者使用群聊。其次在客戶端會通過圖形界面編程的 API 獲 取用戶在登陸界面輸入的用戶名 和用戶密碼,通過數(shù)據(jù)流傳輸?shù)椒掌鳎瑢?Client 傳送過來的用戶帳號和用戶密碼和 Server 端的文件所存儲的用戶名和密碼相對照,如果用戶昵稱和用戶密碼都輸入正確,提示登陸成功,將用戶轉(zhuǎn)到聊天窗口界面。 登錄界面上,將會顯示兩個用戶輸入框,一個是用戶輸入框和用戶密碼輸入框。但在 J2SE 發(fā)布后, java 編程語言它到現(xiàn)在為止是比較完善的、先進的、便于掌握的、便于開發(fā)的, 這也就是 java 語言風靡全球的原因所在,所以這個多人聊天室軟件就是采用的 java 語言而實現(xiàn)開發(fā)設計的,在通過 myeclipse 我的設計過程中大大提高了我的工作效率,也同時幫我解決了一些 API 不熟練的問題,作為一款輔助編程工具, myeclipse 在 java 開發(fā)這個行業(yè)類普及率是非常高的,而 Soket 是進行網(wǎng)絡通信編程的一種強大的 API,也是諸多操作系統(tǒng)的網(wǎng)絡通用標準。 第 3 章 關于多人聊天室的分析和設計 系統(tǒng)可行性分析 Java 語言,它是一種方便我們?nèi)ダ斫庖卜奖阄?們?nèi)ピO計和開發(fā)的編程語言,它相較于其他的編程語言,有許多別的不具有的優(yōu)勢,這種編程語言是比較簡單的,它不受限與操作系統(tǒng)平臺,然后它是在 C++的基礎上進化過來的,所以它的身上還有很多 C 語言的痕跡, java 語言相對于別的編程語言它是出現(xiàn)的比較晚的,這也決定了他的先進性。通過 java 的多線程技術我們實現(xiàn)了用戶的群聊和私聊功能,從而滿足了用戶的兩種不同需求。 軟件系統(tǒng)工作原理 Java 多人聊天室是基于 TCP/IP 協(xié)議的基礎上設計的一種采用 C/S 模式的可實現(xiàn)多人聊天和傳輸文件的軟件,在這個軟件中我們采用了圖形界面編程技術設計實現(xiàn)了軟件的登錄和注冊、聊天窗口,達到了軟件的美化效果?;A的使用就是創(chuàng)建一個 label 對象,然后調(diào)用它的方法,使用工具包來創(chuàng)建對象,易啊不能來說,我們所開發(fā)的界面是可以在所有的操作系統(tǒng)上所使用的,這可以節(jié)省我們很多的麻煩。 在多人聊天室軟件中,我們主要是將文件輸出和文件輸入流運 用到登錄和注冊、注冊檢驗和登錄檢驗,以及信息的發(fā)送和接受中。 FileInputStream:通過打開一個到實際文件的連接來創(chuàng)建一個 FileInputStream,該文件通過系統(tǒng)中的 File 對象指定,即向文件中輸入數(shù)據(jù)。 流根據(jù)方向分為輸入和輸出流,方 向的定位是根據(jù)我們的程序的,流向 我們程序的稱為輸入流,從程序往外流的我們稱為輸出流。該類的讀寫是基于指針的操作。 java 數(shù)據(jù)流技術 Java 提供了一個可以對文件隨機訪問的操作,訪問包括讀和寫操作。 在多人聊天室中我們使用 Soket 套接字發(fā)送 或則應答網(wǎng)絡請求,同時綁定和監(jiān)聽7788網(wǎng)絡端口。永遠都是 socket 主動去連接 ServerSocket,一個ServerSocket 可以連接若干個 Socket。缺點:不易維護, B/S 結構的優(yōu)點:易于維護,缺點:效果差,交互性不強。 C/S 結構的優(yōu)點,應用性強,畫面比較多樣和絢麗。 java Soket 技術 Socket“套接字”,它在 包下。這 4 層分別為:應用層、傳輸層、互連網(wǎng)
點擊復制文檔內(nèi)容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1