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

正文內(nèi)容

java----基于java局域網(wǎng)聊天程序設(shè)計與實現(xiàn)源碼英語文獻及翻譯-資料下載頁

2024-12-07 10:32本頁面

【導讀】隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)絡聊天工具作為一種交流工具,已經(jīng)受到網(wǎng)民的青睞。出現(xiàn)了很多功能強大的聊天工具,其中應用比較廣泛的有騰訊QQ、MSN-Messager等等。公司都盯上了這個最大的市場,一時間,即時通訊市場硝煙四起。對等網(wǎng)絡,應用最初出現(xiàn)時和現(xiàn)在并不相同。認為它是若干不同技術(shù)以及流行趨勢相結(jié)合的產(chǎn)物。是這種分散工作趨勢的結(jié)果。其次,在企業(yè)應用集成等因素的驅(qū)動下,過去十年漸漸形。成從集中的單機系統(tǒng)轉(zhuǎn)向分布式系統(tǒng)。成為一種迫切需求。JAVA的網(wǎng)絡功能與編程··································································1

  

【正文】 cket 類和 包中的類。 服務器線程在程序運行期間一直有效,接受客戶端請求信 息,轉(zhuǎn)發(fā)客戶端聊天內(nèi)容, 查看用戶信息。 客戶端運行時必須先登陸,登陸界面如圖 1,客戶端主界面如圖 2,聊天程序主界面如圖 3,可以和所有在線用戶群聊,也可以和某個用戶私聊如圖 4。 最終效果: 圖 1 登陸界面 工程技術(shù)學院 畢業(yè)設(shè)計(論文)專用紙 24 圖 2 客戶端主界面 圖 3 聊天室主界面 工程技術(shù)學院 畢業(yè)設(shè)計(論文)專用紙 25 圖 4 私聊界面 發(fā)送窗口 顯示信息 工程技術(shù)學院 畢業(yè)設(shè)計(論文)專用紙 26 結(jié) 論 1 畢業(yè)設(shè)計總結(jié)和展望 本畢業(yè)設(shè)計實現(xiàn)了簡單的實時聊天功能,經(jīng)過細心的調(diào)試和排錯解決了大部分的問題。但幾乎每一個計算機軟件都會有這樣那樣的 BUG,尤其是未經(jīng)過 精心設(shè)計維護的非商業(yè)軟件。本聊天程序?qū)τ诔跎娲祟I(lǐng)域的畢業(yè)設(shè)計課題來說,尤其在開始初期,感覺邏輯非常復雜,難以控制,因此至今還有許多未能解決的問題。 目前本聊天系統(tǒng)還有待完善的功能如下: 1. 完成記住密碼及自動登錄功能 . 2. 完成用戶隱身功能 3. 在建立 TCP 對話之前要征詢對方是否同意建立連接 4. 用記事本完成對聊天記錄的保存 5. 實現(xiàn)局域網(wǎng)的文件傳輸 盡管畢業(yè)設(shè)計到現(xiàn)在已接近尾聲,但是對于上述的缺陷,本人還會不斷對這套聊天軟件進一步的完善它,期望在今后的日子里把系統(tǒng)做成一套受歡迎的聊天系統(tǒng)。 2 經(jīng)驗和感想 平時自己也常到 其它聊天室進行聊天,自己也曾想過以后學會了軟件編程就一定親自設(shè)計一款聊天軟件。基本 JAVA 的聊天軟件設(shè)計與實現(xiàn)畢業(yè)設(shè)計正是建立在 Java 平臺上。憑著探索新知識的熱情,我選擇了該設(shè)計題目。 學習 JAVA 的時間遠遠超出了我想象的時間。在設(shè)計初期,為了畫出一個簡單的圖形,都需要花很長時間去掌握和熟悉。為了進一步探索深層次的技巧,我花費了大量時間在 sun 公司的 Java 主頁上,閱讀了幾十篇英文的文獻和代碼樣例。 在學習期間,本人還通過網(wǎng)上的各種 JAVA 源代碼進行學習與研究,我原以為這樣的水平將無法完成畢業(yè)設(shè)計,但當掌 握了部分應用技巧時,剩下的聊天系統(tǒng)思路的設(shè)計就不是障礙了。 工程技術(shù)學院 畢業(yè)設(shè)計(論文)專用紙 27 工程技術(shù)學院 畢業(yè)設(shè)計(論文)專用紙 28 致 謝 忙碌而緊張的畢業(yè)設(shè)計就要結(jié)束了。在我做畢業(yè)設(shè)計期間,許多老師,同學和朋友給我無私的關(guān)懷和幫助,在此,我要向他們表示衷心的感謝。 首先,我要感謝學校的胡延忠老師、謝芳老師和趙嵐老師在畢業(yè)設(shè)計期間給了我的幫助,并且給了我許多關(guān)鍵的、建設(shè)性的指導。其次,我還要感謝跟我同組的曾雷、葉標、孔自強和朱振飛同學,在我跟他們討論畢業(yè)設(shè)計的相關(guān)問題時,他們給了我很多很有建設(shè)性的建議,讓我在軟件設(shè)計初期沒有走彎路。 這次的畢業(yè)設(shè)計 讓我受益匪淺??梢赃@樣說,用計算機來解決繁重而低效的重復計算工作,是計算機發(fā)展史上必然的階段。在理論課的學習中,我掌握了基礎(chǔ)課和專業(yè)課的理論知識,也曾經(jīng)做過一些軟件設(shè)計和計算機綜合試驗,但真正動手設(shè)計一個 C/S模式的聊天軟件,這還是第一次。在這次的畢業(yè)設(shè)計中,我遇到了許多困難,一度想過放棄,但是在老師同學們的幫助下,我挺過來了。在克服這些困難的過程中,我各個方面的能力有了顯著的提高。我的理論知識更好的與工程實踐相結(jié)合,增強了我專業(yè)技能的可實踐性。從選題、調(diào)查研究、需求分析到查找資料、結(jié)構(gòu)設(shè)計、詳細設(shè)計以及調(diào)試程序,到最后的撰寫論文,我終于設(shè)計出了一個比較完整的、周密的、可使用的以及有一定安全措施的聊天系統(tǒng)。通過這次的畢業(yè)設(shè)計,我第一次真正了解了軟件設(shè)計的整個過程,既鞏固了以前的理論知識,也為我以后的進一步深造和工作奠定了基礎(chǔ)。 由于時間的關(guān)系,我所完成的系統(tǒng)不是很盡善盡美的,還有待修改和完善。最后,請允許我再一次向畢業(yè)期間無私幫助過我的老師,同學和朋友表示最衷心的感謝。 工程技術(shù)學院 畢業(yè)設(shè)計(論文)專用紙 29 參考文獻 [1] 鄭玲,李為 .計算機專業(yè)畢業(yè)設(shè)計指導 (本科 ). 北京:清華大學出版社, 2021 [2] 王建華,董志敏譯 . JAVA 核心技術(shù) 卷Ⅱ:高級特性 . 北京:機械工業(yè)出版社, 2021 [3] 程峰,黃若波譯 .JAVA 核心技術(shù) 卷Ⅰ:基礎(chǔ)知識 . 北京:機械工業(yè)出版社, 2021 [4] 張海藩 .軟件工程導論 (第四版 ). 北京:清華大學出版社, 2021 [5] 姬猛洛,李軍譯 . 即時消息傳遞系統(tǒng)編程源代碼解析 .北京:電子工業(yè)出版社, 2021 [6] 李建森 譯 . Java2圖形設(shè)計 卷二: Swing .北京:機械工業(yè)出版社, 2021 [7] 侯捷 譯 . Java2 編程思想 . 北京:機械工業(yè)出版社, 2021 [8] 孫衛(wèi)琴 .JAVA 網(wǎng)絡編程精解 . 北京:電子工業(yè)出版社, 2021 [9] 印旻 .Java 語言與面向?qū)ο蟪绦蛟O(shè)計 .北京:清華大學出版社,2021 [10] 王大鋒 . P2P 即時通訊軟件監(jiān)控系統(tǒng)的研究與實現(xiàn) . 北京:中國科學院研究生院軟件研究所, 2021. [11] 徐曉春 . Java 即時通訊系統(tǒng) . 長春:吉林大學, 2021 工程技術(shù)學院 畢業(yè)設(shè)計(論文)專用紙 30 附錄 A 程序源代碼 1,LoadingFrame 程 序 的登 錄 窗口 ,從 此窗 口 中, 用所 得到 的 用戶 名來 初 始化 一 個StateFrame,在后期的完善中,會完成記住用戶名及自動登錄功能。主要通過將用戶 名寫入一個記事本保存起來。 具體的源碼如下: package javaqq。 import .*。 import .*。 import .*。 public class LoadingFrame extends JFrame implements ActionListener{ public String text=null。 private Icon icon=new ImageIcon(\\image\\)。 private JLabel label=new JLabel(icon)。 private JPanel panel=new JPanel()。 private JPanel inputPanel=new JPanel()。 private JLabel nameLabel=new JLabel(用戶名 )。 private JTextField nameText=new JTextField(12)。 private JPanel choosePanel=new JPanel()。 private JCheckBox reCheckBox=new JCheckBox(記住用戶名 )。 private JCheckBox autoCheckBox=new JCheckBox(自動登陸 )。 private JPanel btnPanel=new JPanel(new FlowLayout())。 private JButton cancelBtn=new JButton(取消 )。 public JButton loadBtn=new JButton(登錄 )。 public LoadingFrame(){ } public void init(){ setTitle(登錄 )。 工程技術(shù)學院 畢業(yè)設(shè)計(論文)專用紙 31 setIconImage((new ImageIcon(\\image\\)).getImage())。 setLayout(new GridLayout(3,1))。 JPanel content=(JPanel)()。 (label)。 (0, 0, 350, 250)。 (())。 (nameLabel)。 (nameText)。 (inputPanel)。 (reCheckBox)。 (autoCheckBox)。 (choosePanel)。 (panel)。 (loadBtn)。 (cancelBtn)。 (btnPanel)。 setLocation(387, 234)。 setSize(350,300)。 setVisible(true)。 setDefaultCloseOperation(3)。 (this)。 (this)。 (this)。 (false)。 } public void actionPerformed(ActionEvent e) { 工程技術(shù)學院 畢業(yè)設(shè)計(論文)專用紙 32 if(()==loadBtn||()==nameText){ text=()。 new StateFrame(text)。 dispose()。 }else if(()==cancelBtn){ dispose()。 (0)。 } } } 2,StateFrame 用來顯示用用戶名及在線人的窗口。 具體的源碼如下: package javaqq。 import .*。 import .*。 import .*。 import .*。 import .*。 public class StateFrame extends JFrame { String name=匿名 。 JPanel northPanel=new JPanel(new GridLayout(1,2))。 JPanel centerPanel=new JPanel(new GridLayout(1,1))。 JPanel southPanel=new JPanel()。 JPanel labelPanel=new JPanel(new GridLayout(2,1))。 Icon icon=new ImageIcon(\\image\\)。 JLabel pic=new JLabel(icon )。 JLabel nameLabel=new JLabel()。 JLabel stateLabel=new JLabel(在線 )。 工程技術(shù)學院 畢業(yè)設(shè)計(論文)專用紙 33 List friList=new List()。 JButton allBtn=new JButton(群聊 )。 GroupChatFrame groupchat。 UserInfo[] userinfo=new UserInfo[50]。 ServerSocket listen_socket。 public final static int DEFAULT_PORT=8322。 public final static int CATCH_PORT=7322。 public final static int TCP_PORT=6322。 DatagramSocket socket=null。 IAddress group。 IAddress groupC。 DatagramPacket packet。 DatagramSocket s=null。 MulticastSocket socketr。 MulticastSocket socketC。 Socket Csocket。 Listener listener。 public StateFrame() { } public StateFrame(String s) { =s。 工程技術(shù)學院 畢業(yè)設(shè)計(論文)專用紙 34 groupchat=new GroupChatFrame(this)。 init()。 JoinGroup()。 enableEvents()。 groupListener()。 TCPListener()。 } protected void processWindowEvent(WindowEvent e){ (e)。 if(()==){ try { byte[]notice=new String( D+name+().getHostAddress()+()).getBytes()。 packet=new DatagramPacket(notice,groupC,CATCH_PORT)。 (packet)。 } catch (Exception e1) { ()。 } ()。 (0)。 } } //初始化應用程序窗口 public void init(){ setIconImage((new ImageIcon(\\image\\)).getImage())。 (new BorderLayout(5,5))。 工程技術(shù)學院 畢業(yè)設(shè)計(論文)專用紙 35 (pic)。 (name)。 (nameLabel)。 (stateLabel)。 (labelPanel)。 (northPanel,)。 //(name)。 (new ActionListener(){ public void actionPerformed(ActionEvent e) { //雙擊登錄到列表框內(nèi)容 時觸發(fā)的事件為連通列表框中的 IP,建立 TCP通信 Socket socket。 int s=()。 String address=userinfo[s].getIP()。 try { sock
點擊復制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1