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

📄 appserver.java

📁 j2ee项目实例开发第七章的代码
💻 JAVA
字号:
//import classes
import java.awt.event.*;
import java.net.*;
import java.io.*;
import java.util.*;
import javax.swing.Timer;

//Code for the AppServer class 

public class AppServer implements Runnable
{
	
	ServerSocket server;
	Socket fromClient;
	Thread serverThread;
	       
	public AppServer()
	{
	    System.out.print("FunChat server started..........");		
            try
		{	
			server = new ServerSocket(1001);
			serverThread = new Thread(this);
			serverThread.start();		
		}
		catch(Exception e)
		{
			System.out.println("Cannot start the thread: " + e);
		}
	}		
	

	public static void main(String args[])
	{
		new AppServer();

	}

	public void run()
	{   
		try
		{
			while(true)
			{
				//Listening to the clients request
				fromClient = server.accept();
				//Creating the connect object 
				Connect con = new Connect(fromClient); 
			}
		}
		catch(Exception e)
		{
   		   System.out.println("Cannot listen to the client" + e);
		}
	}

}

//Code for the connect class 
class Connect 
{
      	ObjectOutputStream streamToClient;
	int ctr=0;
	
	BufferedReader streamFromClient;
        static Vector vector;
	static Vector vctrList;
	String message=" ";
	static String str=new String("UsrList");
      
    	static
	{
           vector=new Vector(1,1);
	   vctrList=new Vector(1,1);
	   vctrList.addElement((String)str);
	}
           

	int verify(String mesg)
        {	
		
		try
		{
		RandomAccessFile RAS=new RandomAccessFile("UsrPwd.txt", "r");
		int i=0;
		String str="";
		while((RAS.getFilePointer())!=(RAS.length()))
		{
			str=RAS.readLine();
			if(str.equals(mesg))
			{
				ctr=1;
				break;
				
			}
		}
		RAS.close();
		}
		catch(Exception e)
		{
			
		}
		
		return ctr;
		

	}//end of verify()  	

int checkFile(String mesg)
{
		int chk=1;
		try
		{
		RandomAccessFile RS=new RandomAccessFile("UsrPwd.txt", "r");
		int i=0;
		
		String str="";
		String colon=new String(":");
		int index=((String)mesg).lastIndexOf(colon);
			
		String userName=(String)mesg.substring(0,index);
		while((RS.getFilePointer())!=(int)(RS.length()))
		{
			str=RS.readLine();
			int index1=((String)str).lastIndexOf(colon);
			String usrName=(String)str.substring(0,index1);
			if(usrName.equals(userName))
			{
				chk=0;
				break;
				
			}
		}//end of while
		RS.close();
		}//end of try
		catch(Exception e)
		{
			
		}
		
		return chk;
		

}//end of chkFile


public Connect(Socket inFromClient)
{
		//Retrieving the clients stream
		String msg="";
		String mesg="";
		try
		{
			streamFromClient = new 	BufferedReader(new InputStreamReader(inFromClient.getInputStream()));

                        streamToClient= new ObjectOutputStream(inFromClient.getOutputStream());
			
			msg=streamFromClient.readLine();
			//mesg=streamFromClient.readLine();
      		
			if((msg.equals("From Timer")))
			{
				streamToClient.writeObject(vector); 
			   	    streamToClient.writeObject(vctrList);
			}
			else if(msg.equals("LoginInfo"))
		 	{
		 		msg=streamFromClient.readLine();
				int ver=verify(msg);	  
				if(ver==1)
		   		{
					String colon=new String(":");
					int index=((String)msg).lastIndexOf(colon);
					String userName=(String)msg.substring(0,index);
					if(!(vctrList.indexOf((String)userName)>0))
					{
						streamToClient.writeObject("Welcome");
						vctrList.addElement((String)userName);
					}
				}
				else
				{
					streamToClient.writeObject("Login denied");
		 		}
			}

			else if(msg.equals("RegisterInfo"))
			{
				msg=streamFromClient.readLine();
				int ret=checkFile(msg);
				if(ret==0)
				streamToClient.writeObject("User Exists");
				if(ret==1)
				{
					FileOutputStream out = new FileOutputStream("UsrPwd.txt",true);
					PrintStream p = new PrintStream( out );
					p.println();
                        		p.println(msg);
					p.close();
					streamToClient.writeObject("Registered");
				}
			} 			
			else if(msg.equals("User Logout"))
			{
				String remUser=streamFromClient.readLine();
				boolean b=vctrList.removeElement((String)remUser);
			}
			else

			{
				   		   
				message=message+msg;
				vector.addElement((String)message);
			   	streamToClient.writeObject(vector);       
		    
			}
	 
		}//end of try
	        catch(Exception e)
		{
			System.out.println("Cannot get the client stream connect" + e);
		}
                
                finally
                {
                	try
                  	{
                  		inFromClient.close();
                  	}
                  		catch(IOException e)
                  	{}
                }
                
	}//end of connect	
}

⌨️ 快捷键说明

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