class_docstr: Simple socket server with length-prefixed pickle messages.
  
  Args:
    :count: expected number of nodes in the cluster.
docstr: Starts the registration server socket listener.
docstr_tok: ["Starts","the","registration","server","socket","listener","."]
code: def start_listening_socket(self):
      """Starts the registration server socket listener."""
      port_list = self.get_server_ports()
      for port in port_list:
          try:
              server_sock = socket.socket(
                  socket.AF_INET, socket.SOCK_STREAM
              )
              server_sock.setsockopt(
                  socket.SOL_SOCKET, socket.SO_REUSEADDR, 1
              )
              server_sock.bind(("", port))
              server_sock.listen(10)
              logger.info(
                  "Reservation server binding to port {}".format(port)
              )
              break
          except Exception as e:
              logger.warn(
                  "Unable to bind to port {}, error {}".format(port, e)
              )
              server_sock = None
              pass
  
      if not server_sock:
          raise Exception(
              "Reservation server unable to bind to any ports, port_list = {}".format(
                  port_list
              )
          )
  
      return server_sock
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import nested_scopes
  from __future__ import print_function
  import logging
  import os
  import pickle
  import select
  import socket
  import struct
  import sys
  import threading
  import time
  from .None import util
label_desc: Use image node_id 7 for calling the Server obj's underlying member method code with example usage: obj.start_listening_socket() and returns: server_sock