public void receiveAuthPackets()
	{
		try 
		{
		    byte[] buffer = new byte[Utilities.MAX_BUFFER_SIZE];
		    DatagramPacket pack =  new DatagramPacket(buffer, buffer.length);
		    
		    sock.receive(pack);
		    
		    InetAddress clientIP = pack.getAddress();
		    
		    Packet data_packet = (Packet)Utilities.deserialize(buffer);

	    	AuthPacket auth_packet = (AuthPacket)Utilities.deserialize(data_packet.data);
	    	
		    if( data_packet.auth_packet == true && data_packet.seq_no == PacketSequenceNos.AUTHENTICATION_SEND_CLIENT )
		    {	
		    	System.out.println("Name : "+auth_packet.studentName+" Uid : "+auth_packet.userID+" pass : "+auth_packet.password);
		    }
		    else
		    {
		    	/*
		    	 *  Send denyAccess to the client, so that the client would send the request again
		    	 */
		    	grantAccess(false,clientIP, Utilities.INVALID_REQUEST, "");
		    	return;
		    }
		    
		    String studentName = verifyDetails(auth_packet.userID, auth_packet.password);
		    
		    if( studentName != null )
		    {
		    	/*
		    	 * Student is authentic, Now check if the student's record has already been stored
		    	 */
		    	Student pres_stud = isPresent(auth_packet.userID);
		    	if( pres_stud != null )
		    	{
		    		/*
		    		 * Student record is already present in the students list.
		    		 */
		    		if( pres_stud.IP.equals(clientIP) )
			    	{
		    			grantAccess(true,clientIP, Utilities.NO_ERROR, studentName);
		    			return;
			    	}
			    	else
			    	{
			    		/*
			    		 * Student is logging in from different Tablet(IP)
			    		 */
			    		grantAccess(false, clientIP, Utilities.ALREADY_LOGGED, studentName);
			    	}
		    	}
		    	else
		    	{
		    		/*
		    		 * Student request is new, Add an entry into the list, and send an ack to him
		    		 */
		    		grantAccess(true, clientIP, Utilities.NO_ERROR, studentName);
		    		addStudent(clientIP,auth_packet.userID, studentName);
		    	}
		    }
		    else
		    {
		    	/*
		    	 * Entered credentials by the student didn't match with any of the records in the database
		    	 * Send him -ve reply
		    	 */
		    	grantAccess(false,clientIP, Utilities.INVALID_USER_PASS, studentName);
		    }
		}
		catch (SocketException e)
		{
			e.printStackTrace();
		} 
		catch (IOException e)
		{
			e.printStackTrace();
		}
	}