client_thread.java.svn-base

来自「新东方项目」· SVN-BASE 代码 · 共 73 行

SVN-BASE
73
字号
package server;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;


public class client_thread extends Thread{
	
	
	ObjectOutputStream dos; 
	//去往客户的输出流   
	ObjectInputStream din; 
	//来自客户的输入流   
	HashMap set=new HashMap();
	public client_thread(ObjectOutputStream dos, ObjectInputStream din)
	{    
		
	this.dos=dos; 
	this.din=din; 

	
	
	}

	
	public void run() {
		//循环读取客户数据转发给其他客户  
		while(true) {    
			try{
				
				Object message=din.readObject();  
				qq_user user =(qq_user)message;
				set.put(user.name, user);
				while(message!=null){
			    message=din.readObject();
				//读客户数据,无数据时线程将挂起    
			   user =(qq_user)message;
				set.put(user.name, user);
			    
				}
			
			  
		 for(int j=0;j<serverthread.l.size();j++)  {     
			client_thread c=(client_thread)serverthread.l.get(j);
				c.dos.writeObject(set); 
					//转发给其他客户  
				} 
		 this.sleep(1000);
		 
       } 
				catch(IOException e)
{
	
} catch (ClassNotFoundException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				} catch (InterruptedException e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
}  
} 
}
}
	


⌨️ 快捷键说明

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