📄 baseserver.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 + -