chatclient.java

来自「一个用java写的即时聊天系统 C/S结构的」· Java 代码 · 共 76 行

JAVA
76
字号
package mypkg;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.Socket;public class ChatClient extends Peer implements Runnable{		private Thread exac;		private Socket s;			public ChatClient(String ip,int port){		super();		exac = new Thread(this);		try{			s = new Socket(ip,port);			gui.setStatusContent("The chatclient started.");		}catch(IOException e){			gui.setStatusContent("Could not create ChatSocket.");		}			}		public void start(){		exac.start();	}		public void run() {				while(true){			String message = null;			switch(getStatus()){				case Utility.BEGIN_CONNECT:					try {						in = new BufferedReader(new InputStreamReader(s.getInputStream()));						out = new PrintWriter(s.getOutputStream());						setStatus(Utility.CONNECTED);					} catch (IOException e) {						gui.setStatusContent("Could not create ChatPipe.");					}					System.out.println("Client:Status is begin.status is " + getStatus());					break;									case Utility.CONNECTED:					message = receive();					if(message!=null){						if(message.equals("DISCONNECT")){							setStatus(Utility.DISCONNECTING);							send(Utility.MSG,"DISCONNECT");							gui.setStatusContent("Diconnected.");						}else{							gui.addChatContentOnly(message);						}											}					System.out.println("Client:Status is connected.status is " + getStatus());					break;									case Utility.DISCONNECTING:/*					setStatus(Utility.BEGIN_CONNECT);*/					try{						s.close();					}catch(Exception e){						gui.setStatusContent("Could not close.");					}					close();					gui.setStatusContent("The client disconnected.");					System.out.println("Server:Status is disconnected.status is " + getStatus());					return;			}		}		}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?