private void process(DatagramPacket packet) {
		String string = new String(packet.getData());
		// Packets that start with /c/ are connection packets.
		if (string.startsWith("/c/")) {
			int id = UniqueIdentifier.getIdentifier();
			System.out.println("Identifier: " + id);
			// Removing /c/ from the string.
			clients.add(new ServerClient(string.substring(3, string.length()),
					packet.getAddress(), packet.getPort(), id));
			System.out.println(string.substring(3, string.length()));
			String ID = "/c/" + id;
			send(ID, packet.getAddress(), packet.getPort());
		// Packets that start with /m/ are message packets.
		} else if (string.startsWith("/m/")) {
			sendToAll(string);
	    // Packets that start with /d/ are disconnect packets.
		} else if (string.startsWith("/d/")) {
			String id = string.split("/d/|/e/")[1];
			// Manual disconnect, therefore status is true.
			disconnect(Integer.parseInt(id), true);
		} else if (string.startsWith("/i/")) {
		    // Packets that start with /i/ are ping packets.
			clientResponse.add(Integer.parseInt(string.split("/i/|/e/")[1]));
		} else {
			System.out.println(string);
		}
	}