コード例 #1
0
 def connect(self, header_list = ()):
 
     """connect(self, header_list = ())
     
     Sends a connection message to the server and returns its response.
     Typically, the response is either Success or a subclass of
     FailureResponse.
     
     Specific headers can be sent by passing a sequence as the
     header_list keyword argument.
     """
     
     if not self._external_socket:
         self.socket = Socket()
     
     self.socket.connect((self.address, self.port))
     
     flags = 0
     data = (self.obex_version.to_byte(), flags, self.max_packet_length)
     
     max_length = self.max_packet_length
     request = requests.Connect(data)
     
     header_list = list(header_list)
     response = self._send_headers(request, header_list, max_length)
     
     if isinstance(response, responses.ConnectSuccess):
         self.remote_info = response
         for header in response.header_data:
             if isinstance(header, headers.Connection_ID):
                 # Recycle the Connection ID data to create a new header
                 # for future use.
                 self.connection_id = headers.Connection_ID(header.decode())
     
     elif not self._external_socket:
         self.socket.close()
     
     return response