@Override
	public void run()
	{
		while(true)
		{
			try {
				request = new DatagramPacket(buffer, buffer.length);
				aDatagramSocket.receive(request);
				messageArray = (new String(request.getData())).split(Parameters.UDP_PARSER);
				messageArray[0] = messageArray[0].trim();
				if(messageArray[0].equals(Parameters.METHOD_CODE.TRANSFER_ACCOUNT.toString()))
				{
					messageArray[6] = messageArray[6].trim();
					aServerNameRef.createPlayerAccount(messageArray[1], messageArray[2], Integer.parseInt(messageArray[3]),
													   messageArray[4], messageArray[5], messageArray[6]);
				}
				else if(messageArray[0].equals(Parameters.METHOD_CODE.GET_PLAYER_STATUS.toString()))
				{
					data = aServerNameRef.getName() + Parameters.UDP_PARSER + 
							aServerNameRef.getNumberOfOnlinePlayer() + Parameters.UDP_PARSER +
							aServerNameRef.getNumberOfOfflinePlayer();
					message = data.getBytes();
					reply = new DatagramPacket(message, message.length, InetAddress.getByName("localhost"), request.getPort());
					aDatagramSocket.send(reply);
				}
			} catch (IOException e) {
				aDatagramSocket.close();
				bCrashed = true;
			}
		}
	}