public NetInterface() {
		listeners = new ArrayList<NetListener>();
		unicastStreams = new TreeMap<Address, ObjectOutputStream>();
		unicastReceiver = new UnicastReceiver(this, UNICAST_PORT);
		try {
			Thread.sleep(LISTEN_DELAY);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		broadcastReceiver = new BroadcastReceiver(this);
		try {
			Thread.sleep(LISTEN_DELAY);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		// the application address has been set by UnicastReceiver
		if(getAddress().isLoopback()) {
			System.out.println("Net: warning: application cannot send broadcast messages (not connected to a real network)");
		}
	}