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

📄 dialogueserver.java

📁 使用Java实现的聊天室
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
					                 {
					                 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 + -