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

正文內(nèi)容

本科畢業(yè)論文-基于java的多人網(wǎng)絡(luò)聊天室設(shè)計-wenkub

2023-06-14 17:00:50 本頁面
 

【正文】 Window Toolkit),即為抽象窗口工具包,是由 sun公司提供使用的用于圖像界面編程 (gui)的一個包。輸入流是用于獲取數(shù)據(jù)的,輸出流是用于往外輸出數(shù)據(jù)的。該類名為RandomAccessFile。網(wǎng)絡(luò)通信的前提,一定要捕獲異常,然后進行對異常處理。用用功能復(fù)雜。 在多人聊天室中則是在這種協(xié)議基礎(chǔ)上實現(xiàn)的彼此之間的信息交流。該模型的目的是使各種硬件在相同的層次上相互通信。這些協(xié)議最早發(fā)源于美國國防部的 DARPA 互聯(lián)網(wǎng)項目。通常,操作系統(tǒng)上運行的每一個應(yīng)用程 序都運行在一個進程中,例如 :,IE 等等。 一個操作系統(tǒng)做可以同時運行多個程序(任務(wù)),每個被運行的程序(任務(wù))都可以被稱為一個進程。可以幫助大眾解決信息傳輸和溝通中的數(shù)據(jù)和信息無法及時接受和傳輸?shù)膯栴},它的即時性,廣域性和無局限性為企業(yè)和大眾之間的感情凝聚,與外界的溝通交流也因此變得更加高效和方便,它改變了我們的生活方式。 網(wǎng)絡(luò)通訊工具和軟件,同樣的由于它的方便快捷和免費性,僅需要之間都有能夠連接互聯(lián)網(wǎng)的 Computer 或者手機等工具,安裝有對應(yīng)的工具或客戶端,這樣能夠進行大量的信息傳輸和溝通;網(wǎng)絡(luò)聊天工具同時方便與我們與不國家、不同地點和多個人進行溝通 ,交流的過程中還可以傳輸發(fā)送大量的資料,相比較而言更加的方便快捷也沒有傳統(tǒng)通信工具的局限性,更加節(jié)省了過多的通信花費;而且它還具有電話和短信所沒有的視頻和語音聊天功能,可以使用戶得到不同于傳統(tǒng)通信手段的優(yōu)質(zhì)服務(wù)。 data stream。更加關(guān)鍵的是網(wǎng)絡(luò)工具給我們提供了一個低消費更便于交流溝通的平臺,這個網(wǎng)絡(luò)工具平臺擁有廣泛性、即時性、便捷性,因而得到了廣大公司、事業(yè)單位、院校和民眾的認可,本論文敘述的是一種基于利用 TCP/IP 協(xié)議的、利用數(shù)據(jù)流的存儲和讀取、 C/S 框架結(jié)構(gòu)模式、多線程、實現(xiàn)設(shè)計點對點和點對面通信的一 個多人網(wǎng)絡(luò)連天工具,可以進行私聊、群聊、文件傳輸?shù)?. 關(guān) 鍵詞 : Java;聊天室;線程;協(xié)議;數(shù)據(jù)流; C/S結(jié)構(gòu); Abstract With the advent of the information revolution, using working tools to municate one thing has bee indispensable in our daily life are inseparable from the parison with the use of mobile munications and text messaging munication, they are too cumbersome and costly, and online munication tools due to ease of use, instant transfer of information, especially the many young people to the pursuit and use. More critical is working tools provides us with a low consumption easier munication platform, the work platform has extensive tools, immediacy, convenience, and therefore get the majority of panies, institutions, universities and public recognition, this paper describes is based on the use of TCP / IP protocol, the use of storage and reading of data flow, C / S frame mode, multithreaded, to implement a multiplayer online groaning tool design point and point opposite the munications, you can private chat, group chat, file transfer, and so on. Keywords: Java。 chat rooms。 C / S structure。 這也讓網(wǎng)絡(luò)通信工具受到了廣大的公司、企業(yè)及院校的追捧,大多的企業(yè)和院校都有相應(yīng)的網(wǎng)絡(luò)通信軟件工具或者對應(yīng)的自己開發(fā)的網(wǎng)絡(luò)通信工具,方便于進行企業(yè)和院校日常的信息和事務(wù)處理。在現(xiàn)實生活中我們有多種手段和親戚朋友溝通交流和通訊,但要么是實時性不強或則是費用太高、功能單一無法做到網(wǎng)絡(luò)聊天工具的多樣性功能,能夠同時與多個好友進行通訊,這無疑填補了我們生活方式的空白,而網(wǎng)絡(luò)聊天軟件的使用方便快捷、系統(tǒng)占用消耗資源 少等諸多優(yōu)點,都讓他快速成為了企業(yè)事業(yè)單位和個人廣泛應(yīng)用的軟件之一。一個程序同時運行多個任務(wù),那么每 個任務(wù)就稱作為一個線程。 線程是并發(fā)運行的,操作系統(tǒng)將運行時間分為若干個時間片段,盡可能均勻的分配給每一個任務(wù),被分配時間片段之后,任務(wù)就有可能 CPU 所執(zhí)行,從微觀上來講,每個任務(wù)都是走走停停,但是隨著任務(wù)的執(zhí)行宏觀上來看就是所有任務(wù)都在執(zhí)行,這種都運行的現(xiàn)象就稱之為并發(fā),但絕對不是真正意義上的“同時 發(fā)生”。 TCP/IP 字面上代表了兩個協(xié)議 :TCP 傳輸控制協(xié)議和 IP 互聯(lián)網(wǎng)協(xié)議。這 7 層是 :物理層、數(shù)據(jù)鏈路層、網(wǎng)路層、傳輸層、話路層、表示層和應(yīng)用層。 java Soket 技術(shù) Socket“套接字”,它在 包下。缺點:不易維護, B/S 結(jié)構(gòu)的優(yōu)點:易于維護,缺點:效果差,交互性不強。 在多人聊天室中我們使用 Soket 套接字發(fā)送 或則應(yīng)答網(wǎng)絡(luò)請求,同時綁定和監(jiān)聽7788網(wǎng)絡(luò)端口。該類的讀寫是基于指針的操作。 FileInputStream:通過打開一個到實際文件的連接來創(chuàng)建一個 FileInputStream,該文件通過系統(tǒng)中的 File 對象指定,即向文件中輸入數(shù)據(jù)。基礎(chǔ)的使用就是創(chuàng)建一個 label 對象,然后調(diào)用它的方法,使用工具包來創(chuàng)建對象,易啊不能來說,我們所開發(fā)的界面是可以在所有的操作系統(tǒng)上所使用的,這可以節(jié)省我們很多的麻煩。通過 java 的多線程技術(shù)我們實現(xiàn)了用戶的群聊和私聊功能,從而滿足了用戶的兩種不同需求。但在 J2SE 發(fā)布后, java 編程語言它到現(xiàn)在為止是比較完善的、先進的、便于掌握的、便于開發(fā)的, 這也就是 java 語言風(fēng)靡全球的原因所在,所以這個多人聊天室軟件就是采用的 java 語言而實現(xiàn)開發(fā)設(shè)計的,在通過 myeclipse 我的設(shè)計過程中大大提高了我的工作效率,也同時幫我解決了一些 API 不熟練的問題,作為一款輔助編程工具, myeclipse 在 java 開發(fā)這個行業(yè)類普及率是非常高的,而 Soket 是進行網(wǎng)絡(luò)通信編程的一種強大的 API,也是諸多操作系統(tǒng)的網(wǎng)絡(luò)通用標(biāo)準(zhǔn)。其次在客戶端會通過圖形界面編程的 API 獲 取用戶在登陸界面輸入的用戶名 和用戶密碼,通過數(shù)據(jù)流傳輸?shù)椒?wù)器,將 Client 傳送過來的用戶帳號和用戶密碼和 Server 端的文件所存儲的用戶名和密碼相對照,如果用戶昵稱和用戶密碼都輸入正確,提示登陸成功,將用戶轉(zhuǎn)到聊天窗口界面。也可以向另一個用戶發(fā)送文件和資料,在聊天窗口界面上有一個傳輸文件按鈕,點擊即可從電腦上選擇文件傳輸給另一個用戶,在這里我們首先是采用 socket 建立 Client 和 Server 的信息連接,這樣多個客戶端之間才能通過 Server 傳遞消息,其中客戶端和服務(wù)端的發(fā)送和接受信息都是要通過 I/O 流進行解析和傳遞復(fù)制信息的,每個客戶端對應(yīng)一個線程進行處理這個客戶端的所有事務(wù),客戶端對應(yīng)線程會處理服務(wù)器端傳輸過來的信息然后傳遞給用戶顯示在用戶聊天界面,所以采用了多線程技術(shù),客戶端不僅要接受服務(wù)端傳輸過來的信息,也要對服務(wù)器進行信息反饋,所以要有一個專門的線程給服務(wù)端服務(wù)。 用戶之間的信息傳輸也是通過服務(wù)器端的中轉(zhuǎn)處理,然后通過線程和 I/O 流傳輸給另一個用戶,服務(wù)器端還有一個作用就是存儲和中轉(zhuǎn)用戶的信息和資料,通過線程獲取客戶端信息,然后從 Soket 那里得到用戶要傳遞和存儲的信息,使用 I/O 流進行處理分析,最后存儲到文件中或傳遞給用戶。 第 4 章 系統(tǒng)實現(xiàn) 客戶端界面和功能實現(xiàn) 登錄和注冊界面 登錄界面 登陸界面關(guān)鍵代碼 public class Login { private JFrame jFrame = null。 private JTextField jTextFieldLoginUserName = null。 private LinkInfo linkInfo。 public Login(LinkInfo linkInfo){ = linkInfo。 } private JFrame getJFrame() { if (jFrame == null) { jFrame = new JFrame()。 (getJContentPane())。 } /** * This method initializes jContentPane * * return */ private JPanel getJContentPane() { if (jContentPane == null) { jLabelLoginPassword = new JLabel()。 jLabelLoginUserName = new JLabel()。 jContentPane = new JPanel()。 (getJTextFieldLoginUserName(), null)。 } return jContentPane。 } } })。 (new () { public void keyPressed( e) { if(()==){ //當(dāng)在密碼框中按回車時,調(diào)用登陸方法 doLogin()。 (new Rectangle(143, 162, 120, 41))。 } return jButtonLogin。!jTextFieldLoginUserN().equals()amp。!().equals()){ if(in==null){ in = ().getInputStream()。 } //登陸過程中,使登陸界面上的登 陸按鈕不可用 (false)。 ((), out)。 (new Rectangle(295, 214, 82, 28))。 } })。 private JLabel jLabelRegUserName = null。 private JPasswordField jTextFieldRegPassword = null。 private InputStream in。 public Reg(LinkInfo linkInfo){ = linkInfo。 (null)。 (false)。 } return jFrame。 ( 確認密碼: )。 ( 密 碼: )。 ( 昵 稱: )。 (jLabelRegPassword, null)。 (getJTextFieldRegRepassword(), null)。 } /** * This method initializes jTextFieldRegUserName * * return */ private JTextField getJTextFieldRegUserName() { if (jTextFieldRegUserName == null) { jTextFieldRegUserName = new JTextField()。 (new Rectangle(110, 97, 258, 41))。 } return jTextFieldRegRepassword。 (new () { public void actionPerformed( e) { doReg()。 (new Rectangle(289, 266, 88, 28))。 } })。amp。amp。amp。 } //如果獲取來自服務(wù)器端信息的線程沒有啟動,則啟動該線程 if(gif==null){ gif = new GetServerInfo()。 (())。 } }else{
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1