📄 dialogueserver.java
字号:
{
if(user.getIsAdministrator())
{
String cr=user.getCurrentChatroom();
for(int i=0;i<userList.size()-1;i++)
{
tempUser=(User)userList.get(i);
if(tempUser.getCurrentChatroom()!=null&&tempUser.getCurrentChatroom().equalsIgnoreCase(cr))
{
PrintStream clientos=new PrintStream(new BufferedOutputStream(tempUser.getSocket().getOutputStream(),1024),false);
clientos.println("This chatroom has been removed.");
clientos.flush();
clientos.println("removedchatroom");
clientos.flush();
tempUser.setCurrentChatroom(null);
}
}
for(int i=0;i<chatroomList.size();i++)
{
Chatroom croom=new Chatroom();
croom=(Chatroom)chatroomList.get(i);
if(croom.getName().equalsIgnoreCase(cr))
{
chatroomList.removeElement(croom);
break;
}
}
}
}
else
{
if(inputLine.regionMatches(true,0,chatwith,0,9))
{
String toName=inputLine.substring(9);
for(int i=0;i<userList.size()-1;i++)
{
tempUser=(User)userList.get(i);
if(tempUser.getUserID().equalsIgnoreCase(toName))
{
PrintStream clientos=new PrintStream(new BufferedOutputStream(tempUser.getSocket().getOutputStream(),1024),false);
clientos.println(user.getUserID()+" wants to chat with you.");
clientos.flush();
clientos.println("chatteris");
clientos.flush();
clientos.println(user.getUserID());
clientos.flush();
os.println("chatteris");
os.flush();
os.println(tempUser.getUserID());
os.flush();
tempUser.setWaiter(user.getUserID());
user.setWaiter(tempUser.getUserID());
break;
}
}
}
else
{
if(inputLine.equalsIgnoreCase("endChat"))
{
for(int i=0;i<userList.size()-1;i++)
{
tempUser=(User)userList.get(i);
if(tempUser.getChatter()!=null&&tempUser.getChatter().equalsIgnoreCase(user.getUserID()))
{
tempUser.setChatter(null);
PrintStream clientos=new PrintStream(new BufferedOutputStream(tempUser.getSocket().getOutputStream(),1024),false);
clientos.println(user.getUserID()+" has ended this chat.");
clientos.flush();
break;
}
}
user.setChatter(null);
}
else
{
if(inputLine.equalsIgnoreCase("chatAccept"))
{
user.setChatter(user.getWaiter());
for(int i=0;i<userList.size()-1;i++)
{
tempUser=(User)userList.get(i);
if(tempUser.getUserID().equalsIgnoreCase(user.getWaiter()))
{
PrintStream clientos=new PrintStream(new BufferedOutputStream(tempUser.getSocket().getOutputStream(),1024),false);
clientos.println(user.getUserID()+" accepted to chat with you.");
clientos.flush();
tempUser.setChatter(user.getUserID());
break;
}
}
}
else
{
if(inputLine.equalsIgnoreCase("chatRefuse"))
{
for(int i=0;i<userList.size()-1;i++)
{
tempUser=(User)userList.get(i);
if(tempUser.getUserID().equalsIgnoreCase(user.getWaiter()))
{
PrintStream clientos=new PrintStream(new BufferedOutputStream(tempUser.getSocket().getOutputStream(),1024),false);
clientos.println(user.getUserID()+" refused to chat with you.");
clientos.flush();
break;
}
}
}
else{
if(inputLine.equalsIgnoreCase("quit"))
{
userList.removeElement(user);
}
else
{
if(inputLine.equalsIgnoreCase("quitFromHere"))
user.setCurrentChatroom(null);
else{
for(int i=0;i<userList.size()-1;i++)
{
tempUser=(User)userList.get(i);
if(tempUser.getCurrentChatroom()!=null&&tempUser.getCurrentChatroom().equalsIgnoreCase(user.getCurrentChatroom()))
{
PrintStream clientos=new PrintStream(new BufferedOutputStream(tempUser.getSocket().getOutputStream(),1024),false);
clientos.println("<"+user.getUserID()+">"+inputLine);
clientos.flush();
}
}
}
}
}
}
}
}
}
}
}
}
}
sendServerList();
}
os.close();
is.close();
socket.close();
}
catch(IOException e)
{
//e.printStackTrace();
}
}
}
public void sendServerList()
{
User tempUser1,tempUser2;
Chatroom tempChatroom;
try{
for(int j=0;j<userList.size()-1;j++)
{
tempUser1=(User)userList.get(j);
PrintStream clientos=new PrintStream(new BufferedOutputStream(tempUser1.getSocket().getOutputStream(),1024),false);
clientos.println("userListStart");
clientos.flush();
if(tempUser1.getCurrentChatroom()==null)
{
for(int i=0;i<userList.size();i++)
{
tempUser2=(User)userList.get(i);
clientos.println(tempUser2.getUserID());
clientos.flush();
}
clientos.println("userListEnd");
clientos.flush();
for(int i=0;i<chatroomList.size();i++)
{
tempChatroom=(Chatroom)chatroomList.get(i);
clientos.println(tempChatroom.getName());
clientos.flush();
}
}
else
{
for(int i=0;i<userList.size();i++)
{
tempUser2=(User)userList.get(i);
if(tempUser2.getCurrentChatroom()!=null&&tempUser2.getCurrentChatroom().equalsIgnoreCase(tempUser1.getCurrentChatroom()))
{
clientos.println(tempUser2.getUserID());
clientos.flush();
}
}
clientos.println("userListEnd");
clientos.flush();
}
clientos.println("allListEnd");
clientos.flush();
}
}catch(IOException e)
{}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -