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

正文內(nèi)容

局域網(wǎng)聊天系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文-資料下載頁

2025-06-25 02:56本頁面
  

【正文】 class Register extends JDialog { 新建用戶的界面開發(fā) …… ……}點擊用戶注冊時代碼的實現(xiàn) void jButton1_mouseClicked(MouseEvent e) { try{ (sername)。 (serverport)。 Socket socket=new Socket((sername),serverport)。//連接服務(wù)器 BufferedReader in=new BufferedReader(new InputStreamReader(()))。 PrintWriter out=new PrintWriter(new BufferedWriter( new OutputStreamWriter(())),true)。(new)。//發(fā)送新建用戶請求(().trim())。//發(fā)送呢稱等信息(())。(().trim())。(().trim())。(())。//head picindexint no。no=(())。(no)。 String str= 。 //do{ str=().trim()。//從服務(wù)器讀取信息 //如果出錯 if((false)) (this,對不起,出錯了:(,ok,)。 else{//如果成功就告訴用戶其號碼 (this,your javaicqis+no,ok,)。 ()。//并打開主窗口 MainWin f2=new MainWin(no,sername,serverport)。 (true)。} //(\n)。 //}while(!(ok))。 // ()。 }catch(IOException e1){} }}(6)主程序的實現(xiàn)主程序是利用MainWin類來實現(xiàn)的,雖然主程序類并不被直接執(zhí)行但是由于所有的事件處理都在這個類中實現(xiàn)所以主程序類包含大量的成員變量,可分為三大塊,第一是保存好友基本信息所有變量的定義,第二是用于臨時變量保存臨時好友也是用戶的基本信息和一些數(shù)組的指數(shù),第三是網(wǎng)絡(luò)相關(guān)變量,再加上程序界面變量就是在此系統(tǒng)中用到的所有變量。主程序如下所示:Public class MainWin extends JFrame implements Runnable{public MainWin(int s,String sername,int serport) {//主程序構(gòu)造函數(shù) enableEvents()。 try { myjicq=s。 server=sername。 serverport=serport。 jbInit()。 ConnectServer(myjicq)。 CreatUDP()。 findf=new FindFriend2(myjicq,server,serverport)。(200,150,300,300)。 thread=new Thread(this)。 ()。 } catch(Exception e) { ()。 } }}(7)消息通信的實現(xiàn)本系統(tǒng)通信方式是采用數(shù)據(jù)報服務(wù)實現(xiàn)的,創(chuàng)建數(shù)據(jù)報的連接實現(xiàn)步驟是:首先創(chuàng)建一個發(fā)送連接,這是一個數(shù)據(jù)報式的連接;然后再創(chuàng)建一個接受連接,當(dāng)然也是一個數(shù)據(jù)報式的連接;最后輸入連接的端口信息。 代碼如下所示:public void CreatUDP(){try{ sendSocket=new DatagramSocket()。 (zhy+sendSocket)。 receiveSocket=new DatagramSocket(udpPORT)。(zhy+()+:+()+,+()+())。 // (udp +udpPORT+ ok)。}catch(SocketException se){()。(false udp!)。}}(1).發(fā)送消息用戶通過在好友列表中找到好友的IP地址,利用UDP協(xié)議與其他用戶進行信息交流。消息發(fā)送之前首先創(chuàng)建一個數(shù)據(jù)報文包,用來實現(xiàn)無連接的包傳送服務(wù),每個數(shù)據(jù)報文包是用DategramPacket類來創(chuàng)建的,DategramPacket對象封裝數(shù)據(jù)報包數(shù)據(jù)、包長度、目標(biāo)地址和目標(biāo)端口。若客戶端發(fā)送數(shù)據(jù)報文包則構(gòu)造函數(shù)創(chuàng)建DategramPacket對象,將需要發(fā)送的數(shù)據(jù)和包文目的地址信息放入對象之中。在發(fā)送的過程中利用構(gòu)造函數(shù)DategramPacket(byte bufferedarray[],int length,InetAddressaddress,int port)構(gòu)造一個包長度為length的包,它是一個將數(shù)據(jù)傳送到指定主機指定端口號上的數(shù)據(jù)文包。消息發(fā)送是通過調(diào)用DategramSocket對象的send方法實現(xiàn)的,它需要以DategramPacket對象為參數(shù),將剛才封裝進DategramPacket對象中的數(shù)據(jù)組成數(shù)據(jù)報發(fā)送出去的。實現(xiàn)代碼如下:void send_mouseClicked(MouseEvent e) {//發(fā)送消息try{ String s=().trim()。 // (s)。 byte[] data=()。 (theip)。 ()。 if((null)||()||(0)){(this,:(對不起,不在線,ok,)。} else{ sendPacket=new DatagramPacket(data,(),(theip),sendPort)。 (sendPacket)。} } catch(IOException e2){(())。 ()。} ()。 }鼠標(biāo)事件相應(yīng)函數(shù)是屬于發(fā)送消息菜單,當(dāng)點擊發(fā)送消息菜單時,執(zhí)行這個函數(shù),并創(chuàng)建一個發(fā)送消息的窗口。通過void sendmessage_mousePressed(MouseEvent e)來創(chuàng)建鼠標(biāo)監(jiān)聽事件。 (2).監(jiān)聽好友消息首先用run()啟用一線程,再將此線程無限監(jiān)聽好友的消息,無限監(jiān)聽在監(jiān)聽好友消息中定義一個空數(shù)組,該數(shù)組用于接受消息中的數(shù)據(jù);然后創(chuàng)建數(shù)據(jù)報,(receivePacket)函數(shù)等待并接受數(shù)據(jù)報,用byte[]date=()函數(shù)來取得數(shù)據(jù)報中的數(shù)據(jù)。(3).接受消息Dategrampacket類提供了四個函數(shù)來獲取消息: Public byte[] getDate():返回一個字節(jié)數(shù),包含收到或要發(fā)送的數(shù)據(jù)報中的數(shù)據(jù)。 Public int getLength():返回發(fā)送或接受消息的長度。 Publilc InetAddress getAddress():返回一個發(fā)送或接受此數(shù)據(jù)報報文的機器的IP地址。 Public int getPort():返回發(fā)送或接受數(shù)據(jù)報的遠(yuǎn)程主機的端口號。為了接受從服務(wù)器返回的結(jié)果數(shù)據(jù)報文包而創(chuàng)建一個新的DategramPacket對象。該對象利用了DategramPacket類的一種構(gòu)造方式DategramPacket(byte bufferedarray[],int length),這種構(gòu)造方式只需要指明存放接受的數(shù)據(jù)報的緩沖區(qū)的長度。系統(tǒng)可調(diào)用DategramPacket對象的receive()函數(shù)來接受數(shù)據(jù)報,并將DategramPacket對象作為該函數(shù)的參數(shù)。receive()方法會一直阻塞直至受到一個數(shù)據(jù)報報文,而該函數(shù)存放在DategramPacket對象的緩沖區(qū)中。數(shù)據(jù)報文包還包含了發(fā)送者的IP地址和端口號等信息。 參考文獻(xiàn)[1]]Rogers Cadenhead. :人民郵電出版社,2007[2][美]Bruce Eckel. Thinking In :機械工業(yè)出版社,2007[3] :清華大學(xué)出版社,2006[4] :中國水利水電出版社,2006[5] :清華大學(xué)出版社,2006[6] ——:西安電子科技大學(xué)出版社,2006[7] :中國水利水電出版社,2006[8] :清華大學(xué)出版社,2006[9] :清華大學(xué)出版社,2006[10] :冶金工業(yè)出版社,2006[11] :清華大學(xué)出版社,2006[12] :機械工業(yè)出版社,2006[13] [美]Herbert :清華大學(xué)出版社,2006[14] :機械工業(yè)出版社,2006[15] :清華大學(xué)出版社,2006[16] :清華大學(xué)出版社,2006[17] :北京郵電大學(xué)出版社,2005[18] :人民郵電出版社,2005[19] [20] 總結(jié)本文討論了如何利用JAVA技術(shù)開發(fā)聊天室系統(tǒng),基本滿足了結(jié)構(gòu)化、界面友好、速度快、安全性以及穩(wěn)定性等特點。在當(dāng)今電腦網(wǎng)絡(luò)密布的世界當(dāng)中,一個簡單高效的局域網(wǎng)通信工具是如此的具有實用性,所以我們應(yīng)當(dāng)重視對它的相關(guān)研究與開發(fā)。在這次的畢業(yè)設(shè)計中,我應(yīng)用了JAVA開發(fā)工具在WINDOWS平臺上開發(fā)了一個基于WINDOWS平臺的局域網(wǎng)通信工具,在這一重要的領(lǐng)域進行了相關(guān)的實踐,不管是對我的研究能力,還是實際動手能力,還是資料查閱能力,都起了相當(dāng)大的益處。所以,我決定認(rèn)真總結(jié)這次畢業(yè)設(shè)計的經(jīng)驗,以及學(xué)習(xí)到的知識,來更加的充實自己的頭腦和完善自己的知識結(jié)構(gòu)。系統(tǒng)著重研究并實現(xiàn)了網(wǎng)絡(luò)應(yīng)用的部分。根據(jù)實現(xiàn)的情況看,具有較友好的聊天界面生成效果,以及流暢的網(wǎng)絡(luò)通信效果。生成的聊天室可以達(dá)到基本的聊天要求,具有較高的研究價值。致謝一個月的忙碌和工作,本次畢業(yè)設(shè)計已經(jīng)接近尾聲,作為一個還沒畢業(yè)的本科生的畢業(yè)設(shè)計,由于經(jīng)驗的匱乏,難免有許多考慮不周全的地方,如果沒有導(dǎo)師的督促指導(dǎo),以及一起工作的同學(xué)們的支持,想要完成這個設(shè)計是難以想象的。在這里再次感謝我的導(dǎo)師。通過畢業(yè)設(shè)計,發(fā)現(xiàn)自己在理論研究和實際工作能力等方面都得到了提高,受益匪淺,同時在老師的指導(dǎo)和課題組同學(xué)的共同幫助下,及時總結(jié)研究成果,這些無疑會對我今后的工作和學(xué)習(xí)帶來很大的幫助。進入社會后,我以后會更加努力,是學(xué)校給我學(xué)習(xí)的機會,在以后的生活中繼續(xù)提高自己,為自己創(chuàng)造更多的機會,更好的明天! 31
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1