code: def _createSocket(self, port):
          '''
          Creates a UDP socket bound to any interface (empty string host address)
          but to the specified port.
          '''
          self._logger.info(
              'Setting up UDP socket to listen to port {:}'.format(port))
          sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  
          sock.settimeout(self._timeout)
          self._logger.info(
              'Successfully set socket timeout to {_timeout}'
              .format(**self.__dict__))
  
          sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
          self._logger.info('Successfully set socket option to SO_REUSEADDR')
  
          sock.bind(('', port))
          self._logger.info(
              'Successfully bound socket to ("", {port})'
              .format(port=port, **self.__dict__))
  
          return socf _createSocket(self, port):
          '''
          Creates a UDP socket bound to any interface (empty string host address)
          but to the specified port.
          '''
          self._logger.info(
              'Setting up UDP socket to listen to port {:}'.format(port))
          sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  
          sock.settimeout(self._timeout)
          self._logger.info(
              'Successfully set socket timeout to {_timeout}'
              .format(**self.__dict__))
  
          sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
          self._logger.info('Successfully set socket option to SO_REUSEADDR')
  
          sock.bind(('', port))
          self._logger.info(
              'Successfully bound socket to ("", {port})'
              .format(port=port, **self.__dict__))
  
          return sock
docs: Creates a UDP socket bound to any interface (empty string host address)
          but to the specified port.