clientboxmanager.java

来自「一个java聊天室程序 包括服务器端和用户端」· Java 代码 · 共 101 行

JAVA
101
字号
package Day25;

import java.awt.event.ActionListener;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.Serializable;
import java.net.UnknownHostException;


public class ClientBoxManager {
	
	private String name;
	private String IP;
	private int socket;
	boolean running =false;
	java.net.Socket clientSocket = null;	
	ClientManager clientManager = null;
	
	PrintWriter out = null;
	java.io.BufferedReader in = null;
	
    public ClientBoxManager(ClientManager clientManager){
    	this.clientManager = clientManager;
    }
    
	public ClientBoxManager(ActionListener listener) {		
	}
	

	public  void set(String text1, String text2,String text3) {
		
		this.name = text1;
		this.IP = text2;		
		this.socket =Integer.parseInt(text3);
		
		
	}
	
	public String getName(){
		return name;
	}
	
	public void running(){
		try {
			clientSocket = new java.net.Socket(IP,socket);
		} catch (UnknownHostException e1) {	
		 clientManager.frame.text.setText("告示:输入IP地址有误,未能连上服务器!");			
		} catch (IOException e1) {			
			clientManager.frame.text.setText("告示:服务器不在行运中,或输入端口出错,未能连上服务器!");
		}  
		
		  try {
			out = new PrintWriter(//输出流
			        new java.io.OutputStreamWriter(
			      		  clientSocket.getOutputStream()));
		} catch (IOException e1) {
		}  
      
		
		   try {
			in = new java.io.BufferedReader(//输入流
			        new java.io.InputStreamReader(
			        		clientSocket.getInputStream()));
		} catch (IOException e1) {
		}
		   
		   if(!running){
        	   out.println(name+"大摇大摆地走进了聊天室");
        	   out.flush();
        		running = true;
        	 }
		   
       
		new Thread(){
        	public void run(){        		
        			String s = null;
        		  try {
        			 while((s = in.readLine())!=null){
        				String s1 =clientManager.frame.text.getText();
        				clientManager.frame.text.setText(s1+"\n"+s);
					    System.out.println(s);
					 }
				  }catch (Exception e) {					
					System.out.println("服务器因某些原因停止服务!");
		           }
           }
        }.start();          
		
	}
	
}









⌨️ 快捷键说明

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