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

正文內(nèi)容

java版局域網(wǎng)聊天程序的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文(參考版)

2025-07-01 08:09本頁面
  

【正文】 } public void setIP(String ip) {IP = ip。IP = ip。 private String IP。//啟動(dòng)一個(gè)私聊主界面 } …… } 根據(jù)所得到對(duì)方的IP信息建立一個(gè)TCP連接,并啟動(dòng)一個(gè)私聊主界面,進(jìn)行TCP通信。//建立失敗,不過還可以群聊 } …… while(true){ Socket client = ()。 processMsg(正在監(jiān)聽TCP端口………)。 }5和6主要完成對(duì)群消息的處理,5主要完成對(duì)信息的解包,顯示等等;而6主要是對(duì)TCP連接的信息的接收,以及對(duì)用戶信息的保存。 try { msg=()。 msg=receiveMsg()。 userinfo[k]=new UserInfo(name,ip)。 ip=msg。 name=msg。 }}6.Logon public void run(){//run()方法實(shí)現(xiàn)對(duì)回應(yīng)的TCP連接的信息的接收,并且完成對(duì)UserInfo信息的保存 String msg=null。 ()。} try { while(true){ client=()。5.CheckIn//對(duì)回應(yīng)信息的端口的監(jiān)聽,一旦收到回應(yīng)信息則開啟一個(gè)新線程對(duì)其進(jìn)行信息的接收 public void run(){ try { Check=new ServerSocket(CHECK_PORT)。 } } catch (IOException e) { ()。 (true)。//用Rdata數(shù)組來接收數(shù)據(jù), (packet)。4.Listenerpublic void run(){ try {while(true){ byte[] Rdata=new byte[256]。 out=new PrintWriter(())。 if((C)){//judge為“C”時(shí)反送一個(gè)含有對(duì)方用戶名以及本機(jī)的IP的數(shù)據(jù)包到組播組 …… } public void Connect(String check){ //Connect()方法實(shí)現(xiàn)了對(duì)對(duì)方回應(yīng)本機(jī)信息的過程, //其中第一以及最后一個(gè)為無用信息,在接受方被吸收掉 …… CheckSocket=new Socket(check,CHECK_PORT)。 //check為數(shù)據(jù)包的IP地址 String judge=new String(()).substring(0,1)。 //count記錄了數(shù)據(jù)包的最后一位數(shù),也就是記錄了用戶名的長(zhǎng)度。//等待接受數(shù)據(jù)包 String count=new String(()).substring(()1,())。 packet=new DatagramPacket(Rdata,)。3.Catcher//實(shí)現(xiàn)對(duì)組播端口的監(jiān)聽,并作出反映 public void run(){ try {socket=new DatagramSocket()。 }} 用來顯示用用戶名及在線人的窗口,并對(duì)窗口中各組件實(shí)施監(jiān)聽。 CheckIn login=new CheckIn(this,userinfo)。 (groupC)。 (packet)。 //包的數(shù)據(jù)結(jié)構(gòu)為:判斷位+用戶名+IP地扯+用戶名長(zhǎng)度 notify=new String(C+name +().getHostAddress()+()).getBytes()。 nametag=()。 byte notify[]=new byte[100]。 //初始化廣播聊天信息組 groupC=()。} }})。//建立連接 MainChatFrame mf=new MainChatFrame(socket,userinfo[s].getName())。 String address=userinfo[s].getIP()。//默認(rèn)TCP連接端口 public void init(){//初始化應(yīng)用程序窗口…… (new ActionListener(){//用ActionListener接口來對(duì)圖形界面中的各個(gè)組件進(jìn)行監(jiān)聽 public void actionPerformed(ActionEvent e) { //雙擊登錄到列表框內(nèi)容時(shí)觸發(fā)的事件為連通列表框中的IP,建立TCP通信 Socket socket。//默認(rèn)端口 public final static int CATCH_PORT=7322。主要通過將用戶名寫入一個(gè)記事本保存起來。 } } 程序的登錄窗口,從此窗口中,輸入用戶名,點(diǎn)擊“登陸”來初始化一個(gè)StateFrame對(duì)象,并在顯示器上顯示出客戶端的主界面。 }else if(()==cancelBtn){//取消登錄,推出程序 dispose()。 new StateFrame(text)。//講輸入用戶名的文本框加入到事件偵聽器中 (false)。//將“登陸”按鈕加入到事件偵聽器中 (this)。 setDefaultCloseOperation(3)。 setSize(350,300)。 setIconImage((new ImageIcon(\\image\\)).getImage())。系統(tǒng)通過ActionListener接口來監(jiān)聽用戶的對(duì)按鈕的點(diǎn)擊,來啟動(dòng)各聊天窗口進(jìn)行相關(guān)工作,如私聊,群聊等。然后就可以相互傳遞信息了。服務(wù)器模塊工作流程服務(wù)器模塊通過socket()系統(tǒng)調(diào)用創(chuàng)建一個(gè)Socket數(shù)組后,與指定的本地端口綁定,就可以在端口進(jìn)行偵聽listen()。因此,在設(shè)計(jì)聊天系統(tǒng)的過程中,必須要考慮好以下幾個(gè)設(shè)計(jì)要點(diǎn):實(shí)現(xiàn)思想局域網(wǎng)基于P2P上的聊天程序一般都是以服務(wù)器模塊提供連接響應(yīng),使用者通過客戶端模塊連接,與用戶交談,這是一個(gè)面向連接的通信過程。圖37 小區(qū)樓內(nèi)監(jiān)控表第六張表:視頻存放表作用:將各個(gè)地點(diǎn)的攝像頭所拍下的視頻地址存放該表中,以供相關(guān)人員調(diào)用,因?yàn)槿绻娲罅恳曨l會(huì)使機(jī)器越來越慢,把視頻存入本地磁盤。圖35 家庭被盜表第四張表:小區(qū)園區(qū)監(jiān)控表作用:對(duì)監(jiān)控取得視頻結(jié)果用數(shù)字?jǐn)?shù)據(jù)形式進(jìn)行整理,此表對(duì)小區(qū)園區(qū)監(jiān)控結(jié)果進(jìn)行整理。 數(shù)據(jù)庫(kù)的生成及網(wǎng)站目錄結(jié)構(gòu) 數(shù)據(jù)庫(kù)的結(jié)構(gòu)本系統(tǒng)數(shù)據(jù)庫(kù)主要有6張表,各表及表結(jié)構(gòu)如下所示:第一張表:用戶安全登錄表(如圖33)作用:允許相關(guān)人員登陸此系統(tǒng)圖33 用戶安全登錄表第二張表:家庭火災(zāi)表作用:對(duì)監(jiān)控取得視頻結(jié)果用數(shù)字?jǐn)?shù)據(jù)形式進(jìn)行整理,此表對(duì)家庭發(fā)生火災(zāi)情況進(jìn)行整理。 根據(jù)Action的validate屬性可以決定是否將該form對(duì)象交由相應(yīng)的action對(duì)象 處理之前進(jìn)行驗(yàn)證。當(dāng)用戶提交某個(gè)表單時(shí),根據(jù)該表單中的form ,在Struts中就是將*.do請(qǐng)求轉(zhuǎn)發(fā)到ActionServlet,生成相應(yīng)的ActionMapping對(duì)象,根據(jù)其name屬性查找相應(yīng)的 Actionform的子類對(duì)象,并使用表單中的屬性值對(duì)Actionform對(duì)象中的各個(gè)屬 性進(jìn)行賦值。Struts的體系結(jié)構(gòu)與工作原理如下圖所示,從圖中我們可以知道,Struts的體系結(jié)構(gòu)包括模型,視圖和控制器三部分。 系統(tǒng)結(jié)構(gòu)基于Struts三層結(jié)構(gòu)前面已經(jīng)介紹過以B/S方式實(shí)現(xiàn)管理網(wǎng)站的功能,Struts 是MVC的一種實(shí)現(xiàn),它將 Servlet和 JSP 標(biāo)記用作實(shí)現(xiàn)的一部分。調(diào)用的頁面從請(qǐng)求對(duì)象中檢索 Bean, 并用 JSP 來生成客戶機(jī) 端的 HTML。WebSphere應(yīng)用服務(wù)器 支持 HttpServiceRequest 對(duì)象和 HttpServiceRespon對(duì)象的一套新方法。圖32說明了該訪問模型。在這種情況下,WebSphere應(yīng)用服務(wù)器 將檢測(cè)所做的更新,并在執(zhí)行它之前重新生成和編譯 Servlet。WebSphere應(yīng)用服務(wù)器 對(duì) JSP 文件進(jìn)行語法分析并生成 Java源文件。圖51說明了該 JSP 訪問模型。可用兩種方法訪問 JSP 文件:瀏覽器發(fā)送JSP文件請(qǐng)求、發(fā)送至 Servlet 的請(qǐng)求。在JSP 的眾多優(yōu)點(diǎn)之中,其中之是它能將 HTML 編碼從 Web 頁面的業(yè)務(wù)邏輯中有效地分離出來用Jsp訪問可重用的組件,如Servlet、JavaBean 和基于 Java 的 Web 應(yīng)用程序。本人原來學(xué)習(xí)過JAVA語言,對(duì)P2P技術(shù)以及網(wǎng)絡(luò)編程也較有興趣,為了更好的考驗(yàn)自己對(duì)JAVA語言的掌握程度,以及能更深入的理解P2P技術(shù)的內(nèi)涵,本人就決定以《基于JAVA局域網(wǎng)聊天程序設(shè)計(jì)與實(shí)現(xiàn)》為畢業(yè)設(shè)計(jì),希望通過這一次的能進(jìn)一步提高本人的網(wǎng)絡(luò)編程的能力。因此開發(fā)網(wǎng)絡(luò)聊天是相當(dāng)有必要,而且在網(wǎng)站內(nèi)增加聊天功能,它不僅可以提高網(wǎng)站的訪問量,同時(shí)可以留著訪客,更重要的是讓訪客透過聊天室實(shí)時(shí)的互相交流。從原理上講,跟實(shí)現(xiàn)客戶端的原理差不多,只不過這里不是點(diǎn)對(duì)點(diǎn)兩人通信??蛻舳藨?yīng)該完成的工作包括:,若成功,通過ServerSocket進(jìn)行連接,端口默認(rèn)為5001。若有需求,就建立連接,接收消息,通過ActionListener接口進(jìn)行偵聽,當(dāng)用戶點(diǎn)擊按鈕后,啟動(dòng)一個(gè)聊天界面,將消息通過客戶端模塊顯示出來。首先介紹一下服務(wù)器模塊的任務(wù):,并且不斷進(jìn)行偵聽是否有客戶端模塊連接或者斷開連接。不過,從原理上看,這還是C/S模式。具體如下:Socket套接字原理圖1服務(wù)器socket2監(jiān)聽4接收5讀6寫7關(guān)閉3客戶端etsocket6 寫5 讀7關(guān)閉 第三章 樓宇監(jiān)控系統(tǒng)的分析與設(shè)計(jì) 第3章 局域網(wǎng)聊天的分析與設(shè)計(jì) 設(shè)計(jì)的總體思想基于P2P的聊天系統(tǒng),用戶既是服務(wù)器端也是客戶端。數(shù)據(jù)通信:利用虛擬連接通道傳送數(shù)據(jù)信息進(jìn)行通道。服務(wù)器也通過它的本地端口連接一個(gè)socket,通過讀寫和客戶端通信。也就是說網(wǎng)絡(luò)上兩個(gè)或兩個(gè)以上雙工方式通信的進(jìn)程之間總有一個(gè)連接,這個(gè)連接的端點(diǎn)成為套接字,套接字是在比較低的層次上通信的。在數(shù)據(jù)傳輸過程中,各種服務(wù)器不斷的檢測(cè)分配給他的端口,一邊發(fā)現(xiàn)要求和他通信的客戶端。(3)端口號(hào):有的時(shí)候,一個(gè)IP地址不能完整的標(biāo)識(shí)一臺(tái)服務(wù)器,這是應(yīng)為一臺(tái)物理性的計(jì)算機(jī)同時(shí)運(yùn)行著多個(gè)應(yīng)用程序,這就需要我們來區(qū)別同一臺(tái)機(jī)子上的不同的服務(wù),所以就在傳輸層和應(yīng)用層上設(shè)置接口,就是端口。接收方TCP在接收到數(shù)據(jù)后通知上層應(yīng)用程序,TCP將保證接收數(shù)據(jù)的正確性。 實(shí)現(xiàn)了高層協(xié)議的標(biāo)準(zhǔn)化,能為用戶提供多種可靠的服務(wù)。TCP/IP協(xié)議具有以下特點(diǎn): 協(xié)議標(biāo)準(zhǔn)具有開放性,其獨(dú)立于特定的計(jì)算機(jī)硬件及操作系統(tǒng),可以免費(fèi)使用。第二,提供不可靠的無連接的服務(wù)。TCP/IP協(xié)議的體系結(jié)構(gòu)共有四個(gè)層次,即應(yīng)用層、傳輸層、網(wǎng)絡(luò)互聯(lián)層和網(wǎng)絡(luò)接口層。由于JavaBeans開發(fā)起來簡(jiǎn)單,又可以利用Java語言的強(qiáng)大功能,許多動(dòng)態(tài)頁面處理過程實(shí)際上被封裝到了JavaBeans中。這種支持不僅能縮短開發(fā)時(shí)間,也為JSP應(yīng)用帶來了更多的可伸縮性。JSP通過JavaBeans來擴(kuò)充復(fù)雜的功能,如文件上載、發(fā)送以及將業(yè)務(wù)處理或復(fù)雜計(jì)算分離出來成為獨(dú)立可重復(fù)利用的模塊。它支持URL連接,WEB即時(shí)訪問,并且簡(jiǎn)化了C/S模型的程序設(shè)計(jì)。, 包括窗口、菜單、滾動(dòng)條、對(duì)話框等,使得Java可以移植到不同平臺(tái)的機(jī)器。、堆棧、可變數(shù)組、時(shí)間和日期等。(二)豐富的類庫(kù)Java提供了大量的類以滿足網(wǎng)絡(luò)化、多線程、面向?qū)ο笙到y(tǒng)的需要。在類庫(kù)中可以自由地加入 新的方法和實(shí)例變量而不會(huì)影響用戶程序的執(zhí)行。通過使用多線程,程序設(shè)計(jì)者可以分別用不同的線程完成特定的行為,而不需要采用全局的事件循環(huán)機(jī)制,這樣就很容易地實(shí)現(xiàn)網(wǎng)絡(luò)上的實(shí)時(shí)交互行為。和其它解釋執(zhí)行的語言如BASIC不同,Java字節(jié)碼的設(shè)計(jì)使之能很容易地直接轉(zhuǎn)換成對(duì)應(yīng)于特定CPU的機(jī)器碼,從而得到較高的性能。Java解釋器直接對(duì)Java字節(jié)碼進(jìn)行解釋執(zhí)行。與平臺(tái)無關(guān)的特性使Java程序可以方便地被移植到網(wǎng)絡(luò)的不同機(jī)器上。Java解釋器生成與體系結(jié)構(gòu)無關(guān)的指令,Java程序可在任意的處理器上運(yùn)行。用于網(wǎng)絡(luò)、分布環(huán)境下的Java必須要防止病毒的入侵。Java是面向網(wǎng)絡(luò)的語言。Java略去了運(yùn)算符重載、多重繼承等模糊的概念,且通過實(shí)現(xiàn)自動(dòng)垃圾收集大大簡(jiǎn)化了程序設(shè)計(jì)者的內(nèi)存管理工作。 JAVA的特點(diǎn)(一)JAVA的主要特點(diǎn)Java語言有下面一些特點(diǎn):簡(jiǎn)單、面向?qū)ο?、分布式、解釋?zhí)行、 安全、體系結(jié)構(gòu)中立、可移植、高性能、多線程以及動(dòng)態(tài)性。隨著互聯(lián)網(wǎng)的發(fā)展,軟件必然是面向大眾的,薄利多銷將是網(wǎng)絡(luò)應(yīng)用軟件的重要特點(diǎn)。隨著Internet的崛起、Java的誕生,巨型而臃腫的應(yīng)用軟件開始向小型化發(fā)展,由眾多生活在Internet上的小應(yīng)用程序相互協(xié)作完成信息的處理與傳遞。Java的出現(xiàn)是計(jì)算機(jī)信息交換的一個(gè)重要里程碑。未來的計(jì)算方式,每個(gè)HomePage的實(shí)質(zhì)是一個(gè)多媒體應(yīng)用程序,這些程序用Java來開發(fā)。它的優(yōu)點(diǎn)表現(xiàn)在:便宜、易于使用和管理。數(shù)據(jù)庫(kù)廠商如Sybase,Oracle等都在開發(fā)支持HTML和Java的CGI。眾多的軟件開發(fā)商也開發(fā)了許多支持Java的軟件產(chǎn)品。于是Gosling決定用Java開發(fā)一個(gè)新的Web瀏覽器。到了1994年,internet已如火如荼地發(fā)展起來。通常情況下,這樣的項(xiàng)目在Sun公司要75個(gè)人干三年。經(jīng)過17個(gè)月的奮戰(zhàn),整個(gè)系統(tǒng)勝利完成。P
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1