亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? chatclient.java

?? java網絡編程經典實例 實例61 從網絡取得文件 實例62 TCP服務器端 實例63 TCP客戶端 實例64 UDP服務器模型 實例65 UDP客戶端模型
?? JAVA
字號:
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.net.*;
import java.io.*;
import java.util.*;

public class ChatClient extends Applet {
    
  	TextField tfName = new TextField(15); //姓名輸入文本域
  	Button btConnect = new Button("連接"); //連接按鈕
  	Button btDisconnect = new Button("斷開連接");
  	TextArea tfChat = new TextArea(8,27); //顯示聊天信息文本框
  	Button btSend = new Button("發送");
  	TextField tfMessage = new TextField(30);  //聊天輸入
  	java.awt.List list1 = new java.awt.List(9); //顯示在線用戶信息
  
   	Socket socket=null;  //連接端口
  	PrintStream ps=null; //輸出流
  	Listen listen=null;  //監聽線程
  
  	public void init() {  //Applet初始化
	    tfChat.setEditable(false);	 //設置信息顯示框為不可編輯   
	    Panel panel1 = new Panel();  //實例化面板     
  		Panel panel2 = new Panel();        
  		Panel panel3 = new Panel();
  		tfChat.setBackground(Color.white);  //設置組件背景顏色
  		panel1.setBackground(Color.orange);
  		panel2.setBackground(Color.pink);    
	    panel3.setBackground(Color.orange);	    
	    panel1.add(new Label("姓名:"));  //增加組件到面板上
	    panel1.add(tfName);
	    panel1.add(btConnect);
	    panel1.add(btDisconnect);    
	    panel2.add(tfChat);
	    panel2.add(list1);    
	    panel3.add(new Label("聊天信息"));
	    panel3.add(tfMessage);
	    panel3.add(btSend);	    
	    setLayout(new BorderLayout()); //設置Applet布局管理器
	    add(panel1, BorderLayout.NORTH);  //增加面板到Applet上
	    add(panel2, BorderLayout.CENTER);
	    add(panel3,  BorderLayout.SOUTH);
  	}

  	public boolean action(Event evt,Object obj){    //事件處理
  		try{
			if(evt.target==btConnect){   //點擊連接按鈕		
			    if (socket==null){
				 	socket=new Socket(InetAddress.getLocalHost(),5656);     //實例化一個套接字			                 
				 	ps=new PrintStream(socket.getOutputStream());   //獲取輸出流
				 	StringBuffer info=new StringBuffer("INFO: ");       			                                                      
				 	String userinfo=tfName.getText()+":"+InetAddress.getLocalHost().toString();
				 	ps.println(info.append(userinfo));	//輸出信息		
				 	ps.flush();
				 	listen=new Listen(this,tfName.getText(),socket);    //實例化監聽線程
				 	listen.start();     //啟動線程
				}   
			}
		   	else if(evt.target==btDisconnect){    //點擊斷開連接按鈕
		         disconnect();  //調用斷開連接方法
		    }
		   	else if(evt.target==btSend){   //點擊發送按鈕
		         if(socket!=null){
				     StringBuffer msg=new StringBuffer("MSG: ");     
					 String msgtxt=new String(tfMessage.getText());
					 ps.println(msg.append(tfMessage.getText()));   //發送信息  
					 ps.flush();
				 }
		   	}
		}
		catch (Exception ex){
			ex.printStackTrace();  //輸出錯誤信息
		}
    	return true;
  	}   

  	public void disconnect() {   //斷開連接方法
     	if(socket!=null){
			ps.println("QUIT");  //發送信息
			ps.flush();
	 	}
  	}

  	class Listen extends Thread{    //監聽服務器傳送的信息
 		String name=null;          //用戶名
	 	BufferedReader reader ;    //輸入流
 		PrintStream ps=null;     //輸出流
 		Socket socket=null;      //本地套接字
 		ChatClient client=null;   //客戶端ChatClient實例

 		public Listen(ChatClient p,String n,Socket s) {  
	 		client=p;
	 		name=n;
	 		socket=s;

	 		try{
			    reader = new BufferedReader(new InputStreamReader(s.getInputStream())); //獲取輸入流
		 		ps=new PrintStream(s.getOutputStream());  //獲取輸出流

			}
	 		catch(IOException ex){
	    		client.disconnect(); //出錯則斷開連接
	    		ex.printStackTrace(); //輸出錯誤信息
	   		}
    	}  
  
 		public void run(){  
      		String msg=null;
	  		while(socket!=null){
	     		try{
	     			msg=reader.readLine();  //讀取服務器端傳來信息
	     		}                 
		 		catch(IOException ex){
	    			client.disconnect(); //出錯則斷開連接
	    			ex.printStackTrace(); //輸出錯誤信息
		 		}
		 		if (msg==null) {    //從服務器傳來的信息為空則斷開此次連接
			   		client.listen=null;              
		   			client.socket=null;
		   			client.list1.removeAll();
		   			return;
		 		}
		 		StringTokenizer st=new StringTokenizer(msg,":");   //分解字符串
		 		String keyword=st.nextToken();         

		 		if(keyword.equals("newUser")) {    //新用戶連接信息
		     		client.list1.removeAll();  //移除原有用戶名
			 		while(st.hasMoreTokens()) {    //取得目前所有聊天室用戶名
			     		String str=st.nextToken();
				 		client.list1.add(str);  //增加到用戶列表中
			 		}
		 		}
		 		else if(keyword.equals("MSG")) {    //聊天信息	                                                 
	     			String usr=st.nextToken();
			 		client.tfChat.append(usr);  //增加聊天信息到信息顯示框
			 		client.tfChat.append(st.nextToken("\0"));
			 		client.tfChat.append("\n");  
			 	}
		 		else if(keyword.equals("QUIT")) {   //斷天連接信息  
		     		System.out.println("Quit");
		     		try{
		      			client.listen=null;
		      			client.socket.close();  //關閉端口
			  			client.socket=null;
             		}
             		catch(IOException e){}
			  		client.list1.removeAll();  //移除用戶列表	 
			 		return;
		 		}
	  		}
 		}     
	} 
}     

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久精k8 | 国产精品久久久久久久久久免费看| 欧美极品aⅴ影院| 亚洲国产综合91精品麻豆| 国精品**一区二区三区在线蜜桃| 99久久久国产精品免费蜜臀| 日韩精品中文字幕一区二区三区 | 51精品国自产在线| 国产精品丝袜在线| 国内精品免费在线观看| 欧美剧情电影在线观看完整版免费励志电影| 久久精品亚洲麻豆av一区二区| 亚洲成av人片| 97超碰欧美中文字幕| 久久久久久一二三区| 日韩激情视频网站| 色婷婷综合激情| 国产精品毛片a∨一区二区三区| 久久99蜜桃精品| 欧美老女人在线| 亚洲国产视频一区二区| 91性感美女视频| 日本一区二区视频在线观看| 久久av中文字幕片| 日韩欧美视频在线| 日韩二区三区四区| 欧美一区二区三区免费| 午夜欧美视频在线观看| 91久久精品一区二区三| 亚洲免费观看高清完整版在线观看熊 | 丁香激情综合五月| 欧美精品一区二区三区蜜桃| 美女爽到高潮91| 日韩欧美的一区| 精品制服美女丁香| 精品国产一区二区三区av性色 | 中文字幕一区av| 不卡av免费在线观看| 国产精品网站在线| www.亚洲色图.com| 亚洲欧美日韩一区| 欧美午夜精品一区二区三区| 亚洲国产精品嫩草影院| 欧美精品123区| 免费的成人av| 久久久精品人体av艺术| 成人黄色综合网站| 亚洲欧美日韩国产手机在线| 色婷婷av久久久久久久| 亚洲福利视频导航| 欧美xxxxxxxx| 国产精品69久久久久水密桃| 国产精品久久久久久亚洲毛片 | 国产成人高清在线| 中文字幕永久在线不卡| 一道本成人在线| 水蜜桃久久夜色精品一区的特点 | 色婷婷综合久久久久中文| 洋洋av久久久久久久一区| 69久久99精品久久久久婷婷| 黄网站免费久久| 国产精品久久久久久久久动漫| www.成人在线| 丝袜美腿亚洲一区二区图片| 久久蜜桃av一区二区天堂| av在线综合网| 日本亚洲最大的色成网站www| 欧美精品一区二区三区蜜臀| 99国产麻豆精品| 日韩激情一二三区| 中文字幕乱码亚洲精品一区| 91国产精品成人| 国产在线视频不卡二| 亚洲精品福利视频网站| 精品久久久久久久久久久院品网| 大白屁股一区二区视频| 天天色综合成人网| 国产精品素人一区二区| 69p69国产精品| 99久久精品国产网站| 免费成人美女在线观看| 亚洲欧美综合网| 欧美成人性福生活免费看| 色婷婷国产精品久久包臀| 精品一区二区成人精品| 一区二区三区蜜桃| 国产欧美综合在线观看第十页| 欧美猛男gaygay网站| 国精产品一区一区三区mba桃花 | 欧美日韩免费在线视频| 丁香激情综合国产| 久久精品国产99国产精品| 亚洲一区二区三区视频在线播放| 久久免费的精品国产v∧| 91麻豆精品国产91久久久久久久久| 丰满岳乱妇一区二区三区| 蜜臀av一区二区在线免费观看 | 在线一区二区观看| 高清日韩电视剧大全免费| 免费一级欧美片在线观看| 亚洲综合av网| 亚洲欧美日韩在线播放| 国产精品精品国产色婷婷| 久久久久久99精品| 精品国产乱码久久久久久1区2区 | 黑人巨大精品欧美一区| 天堂蜜桃91精品| 亚洲国产aⅴ成人精品无吗| 国产精品久久久久久久久免费相片 | 青椒成人免费视频| 亚洲成人精品一区二区| 一区二区三区在线观看欧美| 亚洲少妇中出一区| 亚洲欧美日韩中文播放 | 国产91丝袜在线观看| 国内成人自拍视频| 国产一区二区三区蝌蚪| 国产自产高清不卡| 国产麻豆欧美日韩一区| 国产经典欧美精品| 国产 日韩 欧美大片| hitomi一区二区三区精品| 91视视频在线直接观看在线看网页在线看| 国产高清精品网站| 国产不卡视频在线播放| 99久久精品免费看国产免费软件| 97久久人人超碰| 日本乱码高清不卡字幕| 欧美天堂一区二区三区| 欧美喷潮久久久xxxxx| 日韩视频不卡中文| 久久久精品免费免费| 国产精品久久久久久久裸模| 中文字幕日本乱码精品影院| 亚洲日本青草视频在线怡红院| 亚洲黄色尤物视频| 日韩电影免费一区| 国模娜娜一区二区三区| zzijzzij亚洲日本少妇熟睡| 在线区一区二视频| 在线播放91灌醉迷j高跟美女| 日韩亚洲欧美在线观看| 国产欧美日韩在线看| 一区二区三区在线视频免费 | 亚洲大片免费看| 蜜桃视频一区二区三区在线观看| 国产伦精品一区二区三区免费| 成人性视频免费网站| 91久久精品午夜一区二区| 日韩欧美一二区| 国产精品久久777777| 婷婷六月综合网| 懂色av一区二区三区免费观看| 色综合久久88色综合天天6| 欧美一区二区三区在线看| 国产精品无码永久免费888| 亚洲成人av在线电影| 国产伦精品一区二区三区免费| 日本道色综合久久| 久久嫩草精品久久久久| 亚洲精品成人精品456| 国产在线视频一区二区| 欧美亚洲一区三区| 久久精品夜夜夜夜久久| 婷婷丁香久久五月婷婷| 成人性生交大片免费看在线播放| 欧美日韩aaa| 亚洲欧洲精品一区二区精品久久久| 亚洲高清不卡在线观看| 成人av电影在线| 精品免费国产二区三区| 亚洲综合一二区| 风间由美一区二区三区在线观看 | 91美女片黄在线观看91美女| 在线综合+亚洲+欧美中文字幕| 一区二区中文视频| 国产一区二区三区久久久| 欧美喷水一区二区| 亚洲免费三区一区二区| 懂色中文一区二区在线播放| 日韩视频免费直播| 午夜精品123| 91高清在线观看| 国产精品理论片在线观看| 国内欧美视频一区二区| 日韩一区二区三| 亚洲成在线观看| 色丁香久综合在线久综合在线观看| 欧美国产精品一区| 国产乱码精品一区二区三区五月婷| 制服.丝袜.亚洲.中文.综合| 亚洲免费观看在线观看| www.欧美日韩| 国产精品素人视频| 成人久久18免费网站麻豆| 久久女同精品一区二区| 国产一区二区看久久| 精品精品国产高清a毛片牛牛| 日本欧美在线看| 日韩一级片在线观看|