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

📄 chatserver.java

📁 一阶微分算法
💻 JAVA
字号:
//ChatServer.java
package chat;
import java.rmt.RemoteException;
public interface ChatServer extends java.rmi.Remote{
/**
*注册新用户
*/
public void login(String name,Chatter c) throws java.rmi.RemoteException{
if(c!=null&&name!=null){
//创建UserInfo对象存储新加入到用户c
UserInfo u=new UserInfo(name,c);
//把聊天室已有的用户传给此用户c
Iterator itr=chatters.iterator();
while (ite.hasNext()){
UserInfo u2=(UserInfo)itr.next();
u2.getChatter().receiveEnter(name,c,false);
c.receiveEnter(u2.getName(),u2.getChatter(),true);

}
//把此用户c加入到chatters中存储
chatters.add(u);
}

}
public void chat(String name,String message)
throws java.rmi.RemoteException{
//把发言信息发送给当前聊天室中的所有用户
Iterator itr=chatters.iterator();
while(itr.hasNext()){
if(!name.equals(u.getName()))
u.getChatter().receiveChat(name,message);
}
}
public void logout(String name)throws java.rmi.RemoteException{
if(name==null){
System.out.println("null name on logout::cannot remove chatter");
return;
}
UserInfo u_gone=null;
Iterrator itr=null;
synchronized(chatters){
for(int i=0;i<chatters.size();i++){
UserInfo u=(UserInfo)chatters.get(i);
if(u.getName().equals(name)){
u_gone=u;
chatters.remove(i);
itr=chatters.iterator();
break;
}
}
}
if(u_gone==null||itr==null){
System.out.println(
"no user by name of"+name+"found:not removing chatter");
return;
}
//通知其他所有在线用户名为name的用户退出
while(itr.hasNext()){
UserInfo u=(UserInfo)itr.next();
u.getChatter().receiveExit(name);
}
}

⌨️ 快捷键说明

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