public synchronized void open(InetSocketAddress remoteHost,
			boolean daemonThread) throws SocketException {
		if (isOpen()) {
			return;
		}
		this.remoteHost = remoteHost;

		socket = new DatagramSocket();
		socket.setReuseAddress(true);
		socket.connect(remoteHost);

		startListening(daemonThread);
	}