code: def port(self, port=None):
          
          if (port is None) or (port == self.__port):
              return self.__port
          # when port change ensure old socket is close
          self.close()
          # valid port ?
          if 0 < int(port) < 65536:
              self.__port = int(port)
              return self.__port
          else:
              return None
docs: Get or set TCP port
  
          :param port: TCP port number or None for get value
          :type port: int or None
          :returns: TCP port or None if set fail
          :rtype: int or None