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

正文內(nèi)容

本科畢業(yè)論文-基于java的多人網(wǎng)絡聊天室設計(留存版)

2025-08-02 17:00上一頁面

下一頁面
  

【正文】 194))。 = linkInfo。 i++) { if (().get(i).getTalkingWindow() .equals(this)) { ().remove(i)。 (new () { public void keyPressed( e) { if (() == ) { sendMessageToServer()。 ()。 return true。 ().setValue( ().getMaximum())。 (() + 我說 :\n + () + \n)。 } /** * This method initializes jTextField * * return */ private JTextField getJTextField() { if (jTextField == null) { jTextField = new JTextField()。 } private void removeTalkWindowInfo() { for (int i = 0。 = me。 // 準備接收的文件 private File readyfetFile。 (treeNodeInfo)。 } } return false。 } return jScrollPane。 (new () { public void windowClosing( e) { (0)。//所有好友 private ArrayListTalkingMainTreeInfo allTreeNodes = new ArrayListTalkingMainTreeInfo()。 } //如果獲取來自服務器端信息的線程沒有啟動,則啟動該線程 if(gif==null){ gif = new GetServerInfo()。 } })。 (new Rectangle(110, 97, 258, 41))。 ( 昵 稱: )。 (false)。 private JPasswordField jTextFieldRegPassword = null。 ((), out)。 } return jButtonLogin。 } return jContentPane。 } /** * This method initializes jContentPane * * return */ private JPanel getJContentPane() { if (jContentPane == null) { jLabelLoginPassword = new JLabel()。 private LinkInfo linkInfo。也可以向另一個用戶發(fā)送文件和資料,在聊天窗口界面上有一個傳輸文件按鈕,點擊即可從電腦上選擇文件傳輸給另一個用戶,在這里我們首先是采用 socket 建立 Client 和 Server 的信息連接,這樣多個客戶端之間才能通過 Server 傳遞消息,其中客戶端和服務端的發(fā)送和接受信息都是要通過 I/O 流進行解析和傳遞復制信息的,每個客戶端對應一個線程進行處理這個客戶端的所有事務,客戶端對應線程會處理服務器端傳輸過來的信息然后傳遞給用戶顯示在用戶聊天界面,所以采用了多線程技術,客戶端不僅要接受服務端傳輸過來的信息,也要對服務器進行信息反饋,所以要有一個專門的線程給服務端服務?;A的使用就是創(chuàng)建一個 label 對象,然后調(diào)用它的方法,使用工具包來創(chuàng)建對象,易啊不能來說,我們所開發(fā)的界面是可以在所有的操作系統(tǒng)上所使用的,這可以節(jié)省我們很多的麻煩。缺點:不易維護, B/S 結(jié)構的優(yōu)點:易于維護,缺點:效果差,交互性不強。 線程是并發(fā)運行的,操作系統(tǒng)將運行時間分為若干個時間片段,盡可能均勻的分配給每一個任務,被分配時間片段之后,任務就有可能 CPU 所執(zhí)行,從微觀上來講,每個任務都是走走停停,但是隨著任務的執(zhí)行宏觀上來看就是所有任務都在執(zhí)行,這種都運行的現(xiàn)象就稱之為并發(fā),但絕對不是真正意義上的“同時 發(fā)生”。 C / S structure。 網(wǎng)絡通訊工具和軟件,同樣的由于它的方便快捷和免費性,僅需要之間都有能夠連接互聯(lián)網(wǎng)的 Computer 或者手機等工具,安裝有對應的工具或客戶端,這樣能夠進行大量的信息傳輸和溝通;網(wǎng)絡聊天工具同時方便與我們與不國家、不同地點和多個人進行溝通 ,交流的過程中還可以傳輸發(fā)送大量的資料,相比較而言更加的方便快捷也沒有傳統(tǒng)通信工具的局限性,更加節(jié)省了過多的通信花費;而且它還具有電話和短信所沒有的視頻和語音聊天功能,可以使用戶得到不同于傳統(tǒng)通信手段的優(yōu)質(zhì)服務。這些協(xié)議最早發(fā)源于美國國防部的 DARPA 互聯(lián)網(wǎng)項目。網(wǎng)絡通信的前提,一定要捕獲異常,然后進行對異常處理。用戶的注冊和登錄檢驗以及信息的發(fā)送和接受我們是運用到了 java 的數(shù)據(jù)流技術,通過 java 文件輸出和輸入流獲取指定文件中用戶的信息從而檢驗用戶名和密碼是否正確,以及通過Soket 運用字符流的輸入和輸出接受和發(fā)送用戶的信息 ,從而達到用戶之間的通訊和交流。從而通過 socket 獲取從客戶端讀取的數(shù)據(jù)進行分析處理,最后將處理解析結(jié)果反饋給客戶端,比如,用戶登錄時,通過 soket 將用戶名和用戶密碼傳遞給服務器端,服務器端再將客戶端傳遞過來 的數(shù)據(jù)和存儲在文件中的數(shù)據(jù)進行對比,如果數(shù)據(jù)相符合則服務器返回結(jié)果,從而跳轉(zhuǎn)到用 戶信息列表界面,如果驗證失敗,則彈出相應提示,重新登陸。 private GetServerInfo gif。 ( 密 碼: )。 (new () { public void keyPressed( e) { if(()==){ //當在用戶名框中按回車時,調(diào)用登陸方法 doLogin()。amp。 } } 注冊界面 關鍵代碼 /** * This method initializes jButtonReg * * return */ private JButton getJButtonReg() { if (jButtonReg == null) { jButtonReg = new JButton()。 public JButton jButtonLogin = null。 } })。 (jLabelRegUserName, null)。 (new Rectangle(111, 165, 258, 41))。 if(()!=null){ //做一些簡單的驗證,實際上這里應該有比較復雜的驗證,比如敏感字符 if(()!=nullamp。 // 注冊過程中,使注冊界面上的去登陸按鈕不可用 (false)。 // jve:declindex=0: public TalkingMain(){ ().setVisible(true)。 } /** * This method initializes jContentPane * * return */ private JPanel getJContentPane() { if (jContentPane == null) { jContentPane = new JPanel()。 if(!().equals(好友列表(+me+))){ openTalkingWindow(selectedNode)。()0){ for(int i =0。 } } 聊天窗口和文件傳輸界面 服務器端和客戶端通過 I/O 流,在建立用戶建立會話之前,會先建立一個 socket連接,用來接收請求和發(fā)送請求消息,用戶之間的數(shù)據(jù)傳輸是通過 Socket 連接服務器端然后轉(zhuǎn)給另一個服務器端的,其中我們通過流來翻譯字節(jié)和復制字符然后傳輸給用戶,和傳輸文件的原理是差不多的。 (getJTextArea())。 if ((ALL)) { (群聊中 ...)。 break。 } } })。 return true。 } return false。 (() + 我說 :\n + () + \n)。 ((), out)。 } return jPanel。 } return jFrame。 } public TalkWindow(String me, String target, LinkInfo linkInfo) { ().setVisible(true)。// 連接服務器端的輸出流 // 準備傳送的文件 private File readyforsendfile。 TalkingMainTreeInfo treeNodeInfo = new TalkingMainTreeInfo((i),friend)。i++){ if(().get(i).getTargetUserInfo().equals(id)){ return true。 (new Rectangle(2, 2, 200, 376))。 (getJContentPane())。 private ArrayListString allFriends。 } if(out==null){ out = ().getOutputStream()。 //打開登陸框 (new Login(linkInfo))。 } /** * This method initializes jTextFieldRegPassword * * return */ private JPasswordField getJTextFieldRegPassword() { if (jTextFieldRegPassword == null) { jTextFieldRegPassword = new JPasswordField()。 (new Font(Dialog, , 18))。 (注冊 )。 private JTextField jTextFieldRegUserName = null。 ((), out)。 } })。 (getJButtonReg(), null)。 } return jFrame。 public JButton jButtonReg = null。 聊天窗口 界面 也是作為這個多人聊天室軟件的主界面,在這個 界面 ,用戶可以進行多人聊天和私聊。 java 圖形界面編程技術 圖形界面編程技術它所使用的包是放在 包下面的AWT(Abstract Window Toolkit),即為抽象窗口工具包,是由 sun公司提供使用的用于圖像界面編程 (gui)的一個包。用用功能復雜。通常,操作系統(tǒng)上運行的每一個應用程 序都運行在一個進程中,例如 :,IE 等等。 data stream。 這也讓網(wǎng)絡通信工具受到了廣大的公司、企業(yè)及院校的追捧,大多的企業(yè)和院校都有相應的網(wǎng)絡通信軟件工具或者對應的自己開發(fā)的網(wǎng)絡通信工具,方便于進行企業(yè)和院校日常的信息和事務處理。 TCP/IP 字面上代表了兩個協(xié)議 :TCP 傳輸控制協(xié)議和 IP 互聯(lián)網(wǎng)協(xié)議。 在多人聊天室中我們使用 Soket 套接字發(fā)送 或則應答網(wǎng)絡請求,同時綁定和監(jiān)聽7788網(wǎng)絡端口。通過 java 的多線程技術我們實現(xiàn)了用戶的群聊和私聊功能,從而滿足了用戶的兩種不同需求。 用戶之間的信息傳輸也是通過服務器端的中轉(zhuǎn)處理,然后通過線程和 I/O 流傳輸給另一個用戶,服務器端還有一個作用就是存儲和中轉(zhuǎn)用戶的信息和資料,通過線程獲取客戶端信息,然后從 Soket 那里得到用戶要傳遞和存儲的信息,使用 I/O 流進行處理分析,最后存儲到文件中或傳遞給用戶。 public Login(LinkInfo linkInfo){ = linkInfo。 jLabelLoginUserName = new JLabel()。 } } })。!jTextFieldLoginUserN().equals()amp。
點擊復制文檔內(nèi)容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1