⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 baseserver.java

📁 用Java实现的网络画图程序
💻 JAVA
字号:


import java.io.*;
import java.util.*;


public class  BaseServer {
	public final static String USER_LIST_FILE="userlist.txt";
	public final static int HISTORY_LENGTH=100;
	
	protected Hashtable userList =new Hashtable() ;
	protected Vector clientList =new Vector ();
       protected Vector messageHistory=new Vector ();
	protected Vector elements =new Vector ();
	
	public BaseServer() throws IOException  {
		readUserList();
	}
	
	protected void readUserList() throws IOException {
		String userid;
		String password;
		File f=new File(USER_LIST_FILE);
		if(!f.exists()) return;
		FileReader fileReader =new FileReader(f);
		BufferedReader reader=new BufferedReader(fileReader);
		String fileText=reader.readLine();
		while(fileText!=null){
			int index =fileText.indexOf(' ');
			if(index!=-1) {
				userid=fileText.substring(0,index);
				password=fileText.substring(index+1);
				userList.put(userid.toLowerCase(),password);
			}
			fileText=reader.readLine();
		}
		reader.close();
	}



	public synchronized boolean isValidUserInfo(String user,String password){
		String actualPassword =(String) (userList.get(user.toLowerCase()));
		return ((actualPassword!=null)&&actualPassword.equalsIgnoreCase(password));
	}

	public synchronized void addClient(ChatClient client){
		clientList.addElement(client);
	}
	
	public synchronized void broadcastMessage(String text){
		ChatClient client;
		java.util.Date curdate =new java.util.Date();
		ChatMessage message=new ChatMessage(curdate,text);
		Enumeration clients=clientList.elements();
		while(clients.hasMoreElements()){
			client =(ChatClient)clients.nextElement();
			try{
				client.displayMessage(message);
			}catch(Exception e){}
		}
	}


	public synchronized void broadcastElement(Element element){
		ChatClient client;
		Enumeration clients=clientList.elements();
		while(clients.hasMoreElements()){
			client =(ChatClient)clients.nextElement();
			try{
				client.drawElement(element);
			}catch(Exception e){}
		}
	}

	public synchronized void addMessageToHistory(ChatMessage message){
		messageHistory.addElement(message);
		while(messageHistory.size()>HISTORY_LENGTH) {
			messageHistory.removeElementAt(0);
		}
	}

	public synchronized void addElement(Element element){
		elements.addElement(element);
		
	}

	public ChatMessage[] getHistory(){
		int count =messageHistory.size();
		ChatMessage[] messages=new ChatMessage[count];
		for(int i=0;i<count;i++){
			messages[i]=(ChatMessage)(messageHistory.elementAt(i)) ;
		}
		return messages;
	}
}
		

 

⌨️ 快捷键说明

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