docs: def run(self, *args):
          """Run the listener and answer to requests.
          """
          del args
  
          arec = AddressReceiver(max_age=self._max_age,
                                 multicast_enabled=self._multicast_enabled)
          arec.start()
          port = PORT
  
          try:
              with nslock:
                  self.listener = get_context().socket(REP)
                  self.listener.bind("tcp://*:" + str(port))
                  logger.debug('Listening on port %s', str(port))
                  poller = Poller()
                  poller.register(self.listener, POLLIN)
              while self.loop:
                  with nslock:
                      socks = dict(poller.poll(1000))
                      if socks:
                          if socks.get(self.listener) == POLLIN:
                              msg = self.listener.recv_string()
                      else:
                          continue
                      logger.debug("Replying to request: " + str(msg))
                      msg = Message.decode(msg)
                      self.listener.send_unicode(six.text_type(get_active_address(
                          msg.data["service"], arec)))
          except KeyboardInterrupt:
              # Needed to stop the nameserver.
              pass
          finally:
              arec.stop()
              self.stop()