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

正文內(nèi)容

java聊天系統(tǒng)實(shí)驗(yàn)報(bào)告(已修改)

2025-05-25 22:29 本頁(yè)面
 

【正文】 Java實(shí)現(xiàn)的聊天系統(tǒng)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)作者:李敏、王永生、陳振錨、甘利軍第一章 系統(tǒng)概述 本實(shí)驗(yàn)完成的聊天系統(tǒng)是一個(gè)C/S體系結(jié)構(gòu)網(wǎng)絡(luò)程序的實(shí)例,其操作原理為:服務(wù)器程序會(huì)等待客戶端聯(lián)機(jī),當(dāng)有用戶要求加入聊天室且聯(lián)機(jī)成功后,便可開(kāi)始發(fā)送消息,這些消息將會(huì)以廣播的方式傳送給所有其他在聊天室中的成員。第二章 系統(tǒng)框架2.1 網(wǎng)絡(luò)架構(gòu)以Socket通信機(jī)制實(shí)現(xiàn)聊天程序。允許多個(gè)客戶機(jī)連接,并設(shè)置廣播、私語(yǔ)等多種聊天方式。服務(wù)器用ServerSocket “偵聽(tīng)”進(jìn)入的連接;客戶機(jī)用Socket初始一次連接。一旦客戶(程序)申請(qǐng)建立一個(gè)套接字連接,ServerSocket就會(huì)返回(通過(guò)accept()方法)一個(gè)對(duì)應(yīng)的服務(wù)器端套接字,以便進(jìn)行直接通信。1.服務(wù)器通過(guò)ServerListen這個(gè)線程來(lái)監(jiān)聽(tīng)、負(fù)責(zé)響應(yīng)客戶端的的各種信息,包括用戶的登陸,用戶的注冊(cè),各個(gè)客戶端的信息相互轉(zhuǎn)發(fā)。2.客戶端負(fù)責(zé)為用戶提供登陸界面,將信息發(fā)送至服務(wù)器,通過(guò)ClientReceive類負(fù)責(zé)與服務(wù)器其它客戶端的通信工作。2.2 系統(tǒng)架構(gòu)本實(shí)驗(yàn)完成的聊天系統(tǒng)是一個(gè)C/S體系結(jié)構(gòu)網(wǎng)絡(luò)程序的實(shí)例,用戶可以在客戶端注冊(cè),登陸,與在線好友及私聊或群聊,能夠查看在線用戶,查看好友列表,修改個(gè)人信息!2.3 模塊功能說(shuō)明 ①服務(wù)器程序(1)能等待用戶聯(lián)機(jī),并建立和客戶端通信的I/O通道;(2) 當(dāng)有用戶要求加入聊天室,先驗(yàn)證其帳號(hào)和密碼的合法性,驗(yàn)證成功后允許聯(lián)機(jī)并將登陸信息寫(xiě)入日志log表;(3)能將用戶發(fā)來(lái)的信息存入數(shù)據(jù)庫(kù)保存,以便查詢統(tǒng)計(jì),同時(shí)能將消息廣播給所有聊天室成員;(4)能清除不正常終端的聯(lián)機(jī);(5)系統(tǒng)管理:能設(shè)置加入聊天系統(tǒng)的人數(shù)限制,能查看用戶登陸信息和聊天信息。②客戶端程序(1)提供用戶的注冊(cè)、登陸及連接服務(wù)器時(shí)ip,port的修改(2)用戶登陸后,能修改注冊(cè)信息以及查看在線用戶,好友列表(3)能夠與其他客戶端及服務(wù)端進(jìn)行各種信息轉(zhuǎn)發(fā)第三章 系統(tǒng)詳細(xì)設(shè)計(jì)說(shuō)明各模塊的功能,并列出UML類圖,以及類的說(shuō)明系統(tǒng)用例圖UML類圖(服務(wù)端)(客戶端)類的說(shuō)明參考如下:一、ServerGUI類ServerGUI類簡(jiǎn)介 服務(wù)端的一個(gè)主窗口類,服務(wù)端的main()方法在這個(gè)類里,是首先啟動(dòng)的,所有服務(wù)端的功能都在這個(gè)類里調(diào)用,可以通過(guò)這個(gè)類設(shè)置端口,啟動(dòng)聊天服務(wù),停止服務(wù),向所有用戶或個(gè)別用戶發(fā)送消息,還設(shè)置客戶端最大連接數(shù),查看用戶信息,是否聯(lián)機(jī)情況和用戶聊天記錄等變量說(shuō)明數(shù)據(jù)類型變量名變量作用DataBaseManagerDBM操作數(shù)據(jù)庫(kù)的類JButtonexitButton退出按鈕JMenuItemexitMenuItem退出菜單intheight窗口的高JMenuhelpMenu幫助菜單JMenuItemhelpMenuItem幫助子菜單JTextFieldinputField聊天信息輸入框JLabellabel_1為了排版的標(biāo)簽JLabellabel_2為了排版的標(biāo)簽JLabellabel_3為了排版的標(biāo)簽JLabellabel_4為了排版的標(biāo)簽ServerListenlistenThread服務(wù)端的偵聽(tīng)類JTextAreamessageArea顯示全部聊天信息JScrollPanemessageScrollPane滾動(dòng)條JPanelpanel放置組件JPanelpanel2放置組件JPanelpanel3放置組件JButtonportButton端口設(shè)置JMenuItemportMenuItem端口設(shè)置JMenuItemselectUserListMenuItem查看用戶列表JButtonsendButton發(fā)送按鈕JLabelsendMsgLab顯示發(fā)送消息標(biāo)簽JLabelsendToLab顯示發(fā)送至標(biāo)簽JMenuserverMenu服務(wù)菜單ServerSocketserverSocket此類實(shí)現(xiàn)服務(wù)器套接字JMenuItemsetChatNumMenuItem設(shè)置(限制)聊天人數(shù)JButtonstartButton啟動(dòng)服務(wù)JMenuItemstartMenuItem啟動(dòng)服務(wù)intstartX窗口左上角的X坐標(biāo)intstartY窗口左上角的Y坐標(biāo)JToolBarstatusBar創(chuàng)建狀態(tài)欄JTextFieldstatusBarLab顯示狀態(tài)欄信息JButtonstopButton停止服務(wù)JMenuItemstopMenuItem停止服務(wù)JMenusystemMagMenu系統(tǒng)管理菜單JToolBartoolBar創(chuàng)建工具欄JComboBoxuserComboBox用戶列表下拉框UserLinkListuserLinkList用戶鏈表StringuserName用戶名intwidth窗口的寬構(gòu)造方法說(shuō)明方法名及參數(shù)構(gòu)造方法作用public ServerGUI()初始化服務(wù)端窗口方法說(shuō)明返回值類型方法名及參數(shù)方法作用public void actionPerformed(ActionEvent e)監(jiān)聽(tīng)事件的實(shí)現(xiàn)方法public void sendMsgToAll(String msg)向所有人發(fā)送消息public void sendStopToAll()向所有人發(fā)送服務(wù)器關(guān)閉的消息public void sendSystemMessage()向客戶端用戶發(fā)送消息public void setLoc(Container JF)設(shè)置窗口的位置public void startService()啟動(dòng)服務(wù)端public void stopService()關(guān)閉服務(wù)端方法詳細(xì)說(shuō)明(1) actionPerformed方法 public void actionPerformed(ActionEvent e) Parameters: 動(dòng)作事件ActionEvent e 方法體: 首先判斷傳進(jìn)來(lái)的參數(shù),再根據(jù)參數(shù)類型執(zhí)行相應(yīng)的處理動(dòng)作事件 (2) sendMsgToAll方法 public void sendMsgToAll(String msg) Parameters: 聊天消息 String msg(3) sendStopToAll方法 public void sendStopToAll() 向所有人發(fā)送服務(wù)器關(guān)閉的消息(4) sendSystemMessage方法 public void sendSystemMessage() 向客戶端用戶發(fā)送消息(5) setLoc方法 public void setLoc(Container JF) Parameters: 容器 Container JF 設(shè)置窗口的位置(6) startService方法 public void startService() 啟動(dòng)服務(wù)端(7) stopService方法 public void stopService() 關(guān)閉服務(wù)端二、UserList類UserList類簡(jiǎn)介 可能通過(guò)該類查看所有用戶的信息,可以刪除用戶,可以看到用戶聊天信息。 變量說(shuō)明數(shù)據(jù)類型變量名變量作用JButtonbuttonCancer退出JButtonbuttonDelete刪除Containercontainer容器DataBaseManagerdbm操作數(shù)據(jù)庫(kù)的類GridBagLayoutgridBagL布局類JScrollPanemessageScrollPane滾動(dòng)條JPanelpanelButton放置按鈕JPanelpanelContainer放置組件ResultSetrst得到從數(shù)據(jù)庫(kù)返回的數(shù)據(jù)JTextAreashowMessage顯示聊天記錄Stringstr寫(xiě)SQL語(yǔ)句JTabletableTable組件,顯示用戶記錄構(gòu)造方法說(shuō)明方法名及參數(shù)構(gòu)造方法作用public UserList(JFrame frame)初始化用戶列表窗口方法說(shuō)明返回值類型方法名及參數(shù)方法作用public void actionPerformed(ActionEvent e)監(jiān)聽(tīng)事件的實(shí)現(xiàn)方法private void addContainer(JPanel panel,JComponent ponent,GridBagConstraints gbc,int gridx, int gridy, int gridwidth, int gridheight)該方法為了把組件加到一個(gè)容器里,按照指定的布局坐標(biāo)方法詳細(xì)說(shuō)明(1) actionPerformed方法 public void actionPerformed(ActionEvent e) Parameters: 動(dòng)作事件ActionEv
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1