private void listenForDatabaseServers() {
		if (this.listeningSocket != null) {
			byte[] buffer = new byte[100];
			DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
			while (this.running && this.dbServers.isEmpty()) {
				try {
					this.listeningSocket.receive(packet);
					InetAddress address = packet.getAddress();
					System.out.println("Discovered server at " + address);
					if (!this.dbServers.contains(address)) {
						this.dbServers.add(address);
					}
					Thread.sleep(500);
				} catch (IOException e) {
					System.err.println("Failed to read socket " + e.getMessage());
				} catch (InterruptedException e) {
					e.printStackTrace();
				} finally {
					this.listeningSocket.close();
				}
			}
			System.err.println("Finished searching, found " + this.dbServers.size() + " Server");
		} else {
			System.err.println("No listening socket available");
		}

	}