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

正文內(nèi)容

網(wǎng)絡(luò)應(yīng)用開發(fā)綜合實(shí)踐java聊天系統(tǒng)-資料下載頁

2025-06-29 17:04本頁面
  

【正文】 (false)。 (false)。 (true)。 (true)。 (true)。 (連接服務(wù)器 +ip+:+port+ 成功...\n)。 type = 1。//標(biāo)志位設(shè)為已連接 } catch (Exception e){ (e)。 return。 } } public void DisConnect(){ (true)。 (true)。 (true)。 (true)。 (true)。 (true)。 (false)。 (false)。 (false)。 if(()){ return 。 } try{ (用戶下線)。 ()。 ()。 ()。 ()。 (已經(jīng)與服務(wù)器斷開連接...\n)。 type = 0。//標(biāo)志位設(shè)為未連接 } catch (Exception e){ // } } public void SendMessage(){ String toSomebody = ().toString()。 String status = 。 if(()){ status = 悄悄話。 } Icon face=new ImageIcon(face/)。 String action = ().toString()。 String message = ()。 if(()){ return 。 } try{ (聊天信息)。 ()。 (toSomebody)。 ()。 (action)。 ()。 (action)。 ()。 (message)。 ()。 } catch (Exception e){ // } } public static void main(String[] args) { new client()。 }} 該類是實(shí)現(xiàn)服務(wù)器端與客戶端消息收發(fā)的類。主要實(shí)現(xiàn)方法源代碼如下:/** * 聊天客戶端消息收發(fā)類 */public class ClientReceive extends Thread { private JComboBox bobox。 private JTextArea textarea。 Socket socket。 ObjectOutputStream output。 ObjectInputStream input。 JTextField showStatus。 public ClientReceive(Socket socket,ObjectOutputStream output, ObjectInputStream input,JComboBox bobox,JTextArea textarea,JTextField showStatus){ = socket。 = output。 = input。 = bobox。 = textarea。 = showStatus。 } public void run(){ while(!()){ try{ String type = (String)()。 if((系統(tǒng)信息)){ String sysmsg = (String)()。 (系統(tǒng)信息: +sysmsg)。 } else if((服務(wù)關(guān)閉)){ ()。 ()。 ()。 (服務(wù)器已關(guān)閉!\n)。 break。 } else if((聊天信息)){ String message = (String)()。 (message)。 } else if((用戶列表)){ String userlist = (String)()。 String usernames[] = (\n)。 ()。 int i =0。 (所有人)。 while(i ){ (usernames[i])。 i ++。 } (0)。 (在線用戶 + + 人)。 } } catch (Exception e ){ (e)。 } } }} 該類繼承自JDialog,是用戶對(duì)所要連接的服務(wù)器IP及偵聽端口進(jìn)行修改配置的類。主要實(shí)現(xiàn)方法源代碼如下:/** * 生成連接信息輸入的對(duì)話框 * 讓用戶輸入連接服務(wù)器的IP和端口 */public class ConnectConf extends JDialog { private static final long serialVersionUID = 1L。 JPanel panelUserConf = new JPanel()。 JButton save = new JButton()。 JButton cancel = new JButton()。 JLabel DLGINFO=new JLabel(默認(rèn)連接設(shè)置為 :8888)。 JPanel panelSave = new JPanel()。 JLabel message = new JLabel()。 String userInputIp。 int userInputPort。 JTextField inputIp。 JTextField inputPort。 public ConnectConf(JFrame frame,String ip,int port) { super(frame, true)。 = ip。 = port。 try { jbInit()。 } catch (Exception e) { ()。 } //設(shè)置運(yùn)行位置,使對(duì)話框居中 …… } private void jbInit() throws Exception { (new Dimension(300, 130))。 (連接設(shè)置)。 ( 請(qǐng)輸入服務(wù)器的IP地址:)。 inputIp = new JTextField(10)。 (userInputIp)。 inputPort = new JTextField(4)。 (+userInputPort)。 (保存)。 (取消)。 (new GridLayout(2,2,1,1))。 (message)。 (inputIp)。 (new JLabel(請(qǐng)輸入服務(wù)器的端口號(hào):))。 (inputPort)。 (new Label( ))。 (save)。 (cancel)。 (new Label( ))。 Container contentPane = getContentPane()。 (new BorderLayout())。 (panelUserConf, )。 (DLGINFO, )。 (panelSave, )。 //保存按鈕的事件處理 …… //關(guān)閉對(duì)話框時(shí)的操作 …… //取消按鈕的事件處理 …… }} 該類繼承自JDialog,是用戶對(duì)連接到服務(wù)器所顯示的用戶名進(jìn)行修改配置的類。主要實(shí)現(xiàn)方法源代碼如下:package client。import .*。import .*。import .*。/** * 生成用戶信息輸入對(duì)話框的類 * 讓用戶輸入自己的用戶名 */public class UserConf extends JDialog { private static final long serialVersionUID = 1L。 JPanel panelUserConf = new JPanel()。 JButton save = new JButton()。 JButton cancel = new JButton()。 JLabel DLGINFO=new JLabel(默認(rèn)用戶名為:神馬傷不起)。 JPanel panelSave = new JPanel()。 JLabel message = new JLabel()。 String userInputName。 JTextField userName 。 public UserConf(JFrame frame,String str) { super(frame, true)。 = str。 try { jbInit()。 } catch (Exception e) { ()。 } //設(shè)置運(yùn)行位置,使對(duì)話框居中 …… } private void jbInit() throws Exception { (new Dimension(300, 120))。 (用戶設(shè)置)。 (請(qǐng)輸入用戶名:)。 userName = new JTextField(10)。 (userInputName)。 (保存)。 (取消)。 …… //保存按鈕的事件處理 …… //關(guān)閉對(duì)話框時(shí)的操作 …… //取消按鈕的事件處理 …… }}5. 測(cè)試報(bào)告調(diào)試是程序設(shè)計(jì)中最重要的一環(huán),它幾乎決定了程序優(yōu)劣和一個(gè)項(xiàng)目是否完成的關(guān)鍵。這個(gè)程序本來是想有個(gè)有圖標(biāo)的功能的,但不想總是不行,找了很多的關(guān)于圖像圖片處理的資料,但都沒有解決,最后也只有把這個(gè)功能給刪了。這個(gè)程序一開始有很多的不足之處就是原來的函數(shù)中有還有的部件是調(diào)用show()函數(shù)進(jìn)行顯示,在調(diào)試的時(shí)候總是出錯(cuò),故最后改為setVisible(true)。問題得到解決。還有一個(gè)難點(diǎn)就是對(duì)面板的布局的設(shè)計(jì),試了很多的布局方式才弄成這個(gè)不錯(cuò)的樣子。 系統(tǒng)界面預(yù)覽 測(cè)試過程1. 端口設(shè)置:2. 啟動(dòng)服務(wù):1.客戶端登錄操作:2. 服務(wù)器端顯示客戶端連接成功:◆系統(tǒng)通信1. 服務(wù)器端發(fā)送系統(tǒng)消息:2. 客戶端顯示系統(tǒng)消息:◆用戶間公開通信◆用戶間私密通信在本次測(cè)試中,共有測(cè)試用戶3名,在測(cè)試用戶A發(fā)送私密消息給測(cè)試用戶B時(shí)候,A、B通信雙方均能顯示私密消息,而C用戶無法收到。服務(wù)器端可以接受私密消息。1. 測(cè)試用戶A發(fā)送私密消息:2. 測(cè)試用戶B接收私密消息:3. 測(cè)試用戶C無法接收:4. 服務(wù)器端監(jiān)聽一切消息:六.總結(jié)及體會(huì)這個(gè)程序代碼并不多,也不是很復(fù)雜,但程序編寫中用到了JAVA中的Swing組件,面板容器,事件處理,線程的創(chuàng)建、同步,輸入輸出處理,內(nèi)部類,異常處理以及網(wǎng)絡(luò)通信的知識(shí),所以我還是很有收獲的。在這次的網(wǎng)絡(luò)應(yīng)用開發(fā)綜合實(shí)踐過程中,我選擇使用java語言編寫的及時(shí)聊天系統(tǒng)重點(diǎn)用到了Socket 類和ServerSocket類,明白了它們是Java實(shí)現(xiàn)Socket通信的主要工具。創(chuàng)建 ServerSocket對(duì)象就創(chuàng)建了一個(gè)監(jiān)聽服務(wù),創(chuàng)建一個(gè)Socket對(duì)象就建立了一個(gè)Client與Srever間的連接。明白了Java語言網(wǎng)絡(luò)編程的可靠性,平臺(tái)無關(guān)性??傊ㄟ^本次實(shí)踐,掌握了使用Java語言進(jìn)行面向?qū)ο笤O(shè)計(jì)的基本方法,提高運(yùn)用面向?qū)ο笾R(shí)解決實(shí)際問題的能力。提高面向?qū)ο蟪绦蛟O(shè)計(jì)的能力。對(duì)于java這門語言,我自認(rèn)自己還僅僅是窺豹一斑,希望老師能對(duì)我的這個(gè)聊天小工具給與批評(píng)和耐心的指點(diǎn)。謝謝老師~七.參考文獻(xiàn)Merlin Hughes Michael Shoffner《Java網(wǎng)絡(luò)編程實(shí)例》清華大學(xué)出版社耿祥義 張躍平 《JAVA 2 實(shí)用教程》清華大學(xué)出版社張 輝 潭浩強(qiáng) 《JAVA 程序設(shè)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1