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

正文內(nèi)容

畢業(yè)論文-基于java的聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(存儲(chǔ)版)

  

【正文】 結(jié)合,增強(qiáng)了專(zhuān)業(yè)技能的可實(shí)踐性。 我在一個(gè)月內(nèi)寫(xiě)完這個(gè)程序,經(jīng)過(guò)了很多次的調(diào)試,終于完成了現(xiàn)在的程序。 經(jīng)驗(yàn)和感想 基本 JAVA聊天室開(kāi)發(fā)與實(shí)現(xiàn)作為畢業(yè)設(shè)計(jì),是本人目前做過(guò)的最大的程序。 客戶(hù)端運(yùn)行時(shí)必須先登陸,登陸界面如圖 1,聊天程序主界面如圖 2,可以和所有在線(xiàn)用戶(hù)群聊,也可以和某個(gè) 用戶(hù)私聊如圖 3。 } catch (BadLocationException e) { ()。 try { ().insertString(().getLength(), ()+ +time+ 下線(xiàn) \n,set)。 } try {//輸出信息發(fā)送人 , 時(shí)間 ().insertString(().getLength(), ().getName()++()+\n, set)。 ((), ().getTextPane())。 }else{ (null, 服務(wù)器忙 , 請(qǐng)稍后再試 !)。 }else if(()){ individualTalkHandle(res)。 (set, new Color(0,139,139))。 = publicInfo。 private Socket s。 import 。 import 。 while(()){ ObjectOutputStream o=((OnlineUser)()).getOos()。 Iterator it=()。 ()。 String pwd=(String)(pwd)。 ()。 break。 if(to==null){ sendToAllUser(res)。 // // } catch (Exception e) { // ()。 } catch (RuntimeException e) { (res)。 } } catch (RuntimeException e) { try { (res)。 } } } private void modifypasswdHandle(Request req) { Long id=((id))。 }else if(()){ registerHandle()。 oos=new ObjectOutputStream(())。 private IServiceDao dao。 import 。如果有客戶(hù)端連接請(qǐng)求,則在數(shù)組中選擇一個(gè)空 Socket,將客戶(hù)端地址賦給這個(gè)Socket。不難看出,服務(wù)器端的任務(wù)并不復(fù)雜。 1 服務(wù)器 socket 2 監(jiān)聽(tīng) 4 接收 5 讀 6 寫(xiě) 7 關(guān)閉 3 客戶(hù)端etsocket 6 寫(xiě) 5 讀 7 關(guān)閉 具體過(guò)程如下 主機(jī) A 主機(jī) B 2 規(guī)劃設(shè)計(jì) 課題來(lái)源 根據(jù)當(dāng)前網(wǎng)絡(luò)的需求,網(wǎng)絡(luò)聊天越來(lái)越受各種網(wǎng)民所青睞。也就是說(shuō)網(wǎng)絡(luò) 上兩個(gè)或兩個(gè)以上雙工方式通信的進(jìn)程之間總有一個(gè)連接,這個(gè)連接的端點(diǎn)成為套接字,套接字是在比較低的層次上通信的。 (2)TCP/IP協(xié)議進(jìn)行傳 輸數(shù)據(jù)傳輸?shù)倪^(guò)程: 應(yīng)用程序?yàn)榱藗鬏敂?shù)據(jù)會(huì)調(diào)用 TCP,將數(shù)據(jù)和對(duì)應(yīng)的參數(shù)傳給 TCP,將 TCP 數(shù)據(jù)包封裝在 IP包內(nèi),通過(guò)網(wǎng)絡(luò)送給目的 TCP。 IP協(xié)議的作用:第一,它是網(wǎng)絡(luò)層的協(xié)議,提供互聯(lián)網(wǎng)上數(shù)據(jù)傳輸?shù)慕y(tǒng)一格式。 ASP 通過(guò) COM 來(lái)擴(kuò)充復(fù)雜的功能,如文件上載、發(fā)送 以及將業(yè)務(wù) 處理或復(fù)雜計(jì)算分離出來(lái)成為獨(dú)立可重復(fù)利用的模塊。 } 或 URL imgur=null。在 Java 中不支持宏,它通過(guò)關(guān)鍵字 final 來(lái)聲明一個(gè)常量 ,以實(shí)現(xiàn)宏定義中廣泛使 用的常量定義 JAVA 語(yǔ)言在網(wǎng)絡(luò)上的應(yīng)用 Java程序可以獲取網(wǎng)絡(luò)上結(jié)點(diǎn)的圖象、聲音、 HTML文檔及文本等資源,并可以對(duì)獲得的資源進(jìn)行處理。 在 C、 C++中 ,對(duì)于不同的平臺(tái) ,編譯器對(duì)于簡(jiǎn)單數(shù)據(jù)類(lèi)型如 int,float 等分別分配不同長(zhǎng)度的字節(jié)數(shù) ,例如 :int 在 IBMPC 中為 16 位 ,在 VAX11 中為 32 位 ,這導(dǎo)致了代碼的不可移植性 ,但在 Java 中 ,對(duì)于這些數(shù)據(jù)類(lèi)型總是分 配固定長(zhǎng)度的位數(shù) ,如對(duì) int型 ,它總占 32位 ,這就保證了 Java的平 臺(tái)無(wú)關(guān)性。由指針?biāo)M(jìn)行 的內(nèi)存地址操作常會(huì)造成不可預(yù)知的錯(cuò)誤 ,同時(shí)通過(guò)指針對(duì)某個(gè)內(nèi)存地址進(jìn)行顯 式類(lèi)型轉(zhuǎn)換后 ,可以訪(fǎng)問(wèn)一個(gè) C++中的私有成員 ,從而破壞安全性 ,造成系統(tǒng)的 崩潰。同時(shí) ,Java為 了實(shí)現(xiàn)其簡(jiǎn)單、魯棒、安全等特性 ,也摒棄了 C和 C++中許多不合理的內(nèi)容。 (三)豐富的類(lèi)庫(kù) Java提供了大量的類(lèi)以滿(mǎn)足網(wǎng)絡(luò)化、多線(xiàn)程、面向?qū)ο笙到y(tǒng)的需要。在類(lèi)庫(kù)中可以自由地加入 新的方法和實(shí)例變量而不會(huì)影響用戶(hù)程序 的執(zhí)行。 同時(shí),Java 的類(lèi)庫(kù)中也實(shí)現(xiàn)了與不同平臺(tái)的接口,使這些類(lèi)庫(kù)可以移植。它提供自動(dòng)垃圾收集來(lái)進(jìn)行內(nèi)存管理,防止程序員在管理內(nèi)存時(shí)容易產(chǎn)生的錯(cuò)誤。 Java 略去了運(yùn)算符重載、多重繼承等模糊的概念 ,,且通過(guò)實(shí)現(xiàn)自動(dòng)垃圾收集大大簡(jiǎn)化了程序設(shè)計(jì)者的內(nèi)存管理工作。 Java會(huì)加速應(yīng)用軟件的小型化、網(wǎng)絡(luò)化的趨勢(shì)。 Java 應(yīng)用程序運(yùn)行在異質(zhì)的機(jī)器、異質(zhì)的操作系統(tǒng)之上,甚至于電冰箱、烤面包箱、防盜電子設(shè)備之中,用 Inter 把所有的電子設(shè)備連接起來(lái),通過(guò) TCP/IP 進(jìn)行信息的交流。如: Borland 公司的基于 Java 的快速應(yīng)用程序開(kāi)發(fā)環(huán)境 Latte; Metrowerks 公司和NaturalIntelligence 公司分別開(kāi)發(fā)的基于 Machintosh 的 Java 開(kāi)發(fā)工具; Sun 公司的 Java開(kāi)發(fā)環(huán)境 JavaWorkshop; Microsoft 也開(kāi)發(fā)出系列 Java產(chǎn)品。于是 Gosling 決定用 Java 開(kāi)發(fā)一個(gè)新的 Web 瀏覽器。當(dāng) Naughton加入該小組后,整個(gè)工作進(jìn)展神速。但是 Gosling在改寫(xiě)過(guò)程中感到僅 C 是無(wú)法滿(mǎn)足需要的,于是在 1991 年 6 月份開(kāi)始準(zhǔn)備開(kāi)發(fā)一個(gè)新的語(yǔ)言,那么給它起一個(gè)什么名字呢 ?Gosling 回首向窗外望去,看見(jiàn)一棵老橡 樹(shù),于是建一個(gè)目錄叫 Oak,這就是 Java語(yǔ)言的前身(后來(lái)發(fā)現(xiàn) Oak 已是 Sun公司另一個(gè)語(yǔ)言的注冊(cè)商標(biāo),才改名為 Java,即太平洋上一個(gè)盛產(chǎn)咖啡的島嶼的名字)。 Sun的 Java語(yǔ)言開(kāi)發(fā)小組成立于 1991年,其目的是開(kāi)拓消費(fèi)類(lèi)電子產(chǎn)品市場(chǎng),例如,交互式電視、 烤面包箱等。本文所介紹的網(wǎng)絡(luò)聊天系統(tǒng)是基于開(kāi)放的 JAVA 應(yīng)用程序開(kāi)發(fā)設(shè)計(jì)的,其主要特性是能動(dòng)態(tài)、實(shí)時(shí)的完成信息的傳遞,且具有高效的交互性,更有效的處理客戶(hù)請(qǐng)求,易于維護(hù)和更新,其運(yùn)行所需環(huán)境及其工作流程和各個(gè)功能控件的工作原理將在本文依次介紹,并且文中提供了部分程序源代碼。該系統(tǒng)開(kāi)發(fā)主要 包括一個(gè)網(wǎng)絡(luò)聊天服務(wù)器程序和一個(gè)網(wǎng)絡(luò)聊天客戶(hù)程序兩個(gè)方面。其中用到了局域網(wǎng)通信機(jī)制的原理,通過(guò)直接繼承 Thread 類(lèi)來(lái)建立多線(xiàn)程。 Java是一個(gè)由 Sun 公司開(kāi)發(fā)而成的新一代編程語(yǔ)言。他出生于 1957 年,于 1984 年加盟 SunMicrosystem 公司,之前在一家IBM研究機(jī)構(gòu)工作。 Gosling 在設(shè)計(jì)中采用了虛機(jī)器碼( VirtualMachineCode)方式,即 Java 語(yǔ)言編譯后產(chǎn)生的是虛擬機(jī),虛擬機(jī)運(yùn)行在一個(gè)解釋器上,每一個(gè)操作系統(tǒng)均有一個(gè)解釋器。通常情況下,這樣的項(xiàng)目在 Sun 公司要 75 個(gè)人干三年。 WebRunner 改名為 HotJava,并于 1995 年 5 月 23 日發(fā)表后,在產(chǎn)業(yè)界引起了巨大的轟動(dòng), Java的地位也隨之而得到肯定。 Intra正在成為企業(yè)信息系統(tǒng)最佳的解決方案。 Java的出現(xiàn)是計(jì)算機(jī)信息交換的一個(gè)重要里程碑。 Java 連同Inter, WWW 正在改變應(yīng)用軟件的開(kāi)發(fā)和使用方式,一切都要圍繞著網(wǎng)絡(luò),圍繞著平臺(tái)無(wú)關(guān)。 Java語(yǔ)言的設(shè)計(jì)集中于對(duì)象及其接口,它提供了簡(jiǎn)單的類(lèi)機(jī)制以及動(dòng) 態(tài)的接口模型。 用于網(wǎng)絡(luò)、分布環(huán)境下的 Java必須要防止病毒的入侵。字節(jié)碼本身攜帶了許多編譯時(shí)信 息,使得連接過(guò)程更加簡(jiǎn)單。 Applet是 Java的小應(yīng) 用程序 ,它是動(dòng)態(tài)、安全、跨平臺(tái)的網(wǎng)絡(luò)應(yīng)用程序。 流 模型來(lái)實(shí)現(xiàn)所有 格式的 I/O,包括文件系統(tǒng)、 網(wǎng)絡(luò)、輸入 Socket編程。 } 在類(lèi) GlobalVar 中定義變量 global_var 為 public static,使得其它類(lèi) 可以訪(fǎng)問(wèn)和修改該變量。 在 C中 ,程序員通過(guò)庫(kù)函數(shù) malloc()和 free()來(lái)分配和釋放內(nèi)存 ,C++ 中則通過(guò)運(yùn)算符 new和 delete 來(lái)分配和釋放內(nèi)存。而 Java 不支持頭文件 ,類(lèi)成員的類(lèi)型和訪(fǎng) 問(wèn)權(quán)限都封裝在一個(gè)類(lèi)中 ,運(yùn)行時(shí)系統(tǒng)對(duì)訪(fǎng)問(wèn)進(jìn)行控制 ,防止對(duì)私有成員的操作。下面列舉一個(gè) Java從網(wǎng)絡(luò)上獲取圖象的的方法以說(shuō)明。 }catch (MalformedURLException e) { (“Can’t open the URL “)。這種支持不僅能縮短開(kāi)發(fā)時(shí)間(可以直接利用經(jīng)測(cè)試和可信任的已有組件,避免了重復(fù)開(kāi)發(fā)),也為 JSP應(yīng)用帶來(lái)了更多的可伸縮性。 TCP協(xié)議的功能:差錯(cuò)控制 —— 可靠性、面向連接、分段( Segment)、端口號(hào)。 TCP 只是調(diào)用 IP接口,向 TCP提供所有 TCP需要的服務(wù)。 Socket程序的工作過(guò)程: 建立 Socket 連接:在通信開(kāi)始之前由通信雙方確認(rèn)身份,建立一條專(zhuān)用的虛擬連接通道。 需求分析 聊天系統(tǒng)不外乎兩個(gè)方面,服務(wù)器端和客戶(hù)端。 相對(duì)服務(wù)器而言,客戶(hù)端的任務(wù)更加簡(jiǎn)單,有了以上的簡(jiǎn)單分析,可以知道,解決上述四個(gè)問(wèn)題,即完成了該聊天系統(tǒng)的核心。 3 .2 聊天系統(tǒng)的設(shè)計(jì)步驟及功能模塊劃分 聊天系統(tǒng)工作原理圖 聊天系統(tǒng)各功能模塊 ( 1) 服務(wù)器程序模塊 服務(wù)器與客戶(hù)間通過(guò)套接 口 Socket(TCP)連接。 import .*。 private OnlineUser onlineUser。 ()。 }else if(()){ changeInformationHandle()。 Response res=new Response()。 Response res=new Response()。 } } catch (IOException e) { ()。 try { message=(Message)()。 ObjectOutputStream o=null。 } catch (IOException e) { ()。 try { (user)。 try { SetUserusers=()。 (user)。 sendToAllUser(res)。 } } catch (IOException e) { ()。 import 。 import 。 private JTextPane publicInfo。 ois=。 if(()){ onlineHandle(res)。 } } } c
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1