def _choose_random_superpeer(): superpeers = PeersManager.find_known_peers(True) if len(superpeers) > 0: my_superpeer = superpeers[random.randrange(0, len(superpeers),1)] UsersManager.set_superpeer(my_superpeer) klog("Choose this superpeer: %s:%s" %(my_superpeer.ip, str(my_superpeer.port))) klog("Login...") login_sock = connect_socket(my_superpeer.ip, 80)# int(my_superpeer.port)) login_sock.send("LOGI") login_sock.send(format_ip_address(get_local_ip(login_sock.getsockname()[0]))) login_sock.send(format_port_number(self.local_port)) try: read_from_socket(login_sock, 4) #read ALGI my_session_id = read_from_socket(login_sock, 16) login_sock.close() UsersManager.set_my_session_id(my_session_id) klog("Done. My session id is: %s" %my_session_id) self.ui_handler.superpeer_choosen(my_superpeer.ip, my_superpeer.port) self.ui_handler.login_done(my_session_id) except Exception, ex: klog(ex)