@Override
	public void run() {
		while (!getSocket().isClosed() && getSocket().isBound()) {
			Client client;
			try {
				Socket clientSocket = getSocket().accept();
				client = new ServerOnlyClient(new BlockingClient(
						Address.create((InetSocketAddress) clientSocket
								.getRemoteSocketAddress()), clientSocket));
			} catch (IOException e) {
				continue;
			}
			getClients().add(client);
			for (ServerListener listener : getListeners())
				listener.connected(client);
		}
	}