def _stuned(ip): if stun.getUDPClient() is None: print 'UDP CLIENT IS NONE - EXIT' reactor.stop() return print '+++++ EXTERNAL UDP ADDRESS IS', stun.getUDPClient().externalAddress if sys.argv[1] == 'listen': print '+++++ START LISTENING' return if sys.argv[1] == 'connect': print '+++++ CONNECTING TO REMOTE MACHINE' _try2connect() return lid = misc.getLocalIdentity() udp_contact = 'udp://'+stun.getUDPClient().externalAddress[0]+':'+str(stun.getUDPClient().externalAddress[1]) lid.setProtoContact('udp', udp_contact) lid.sign() misc.setLocalIdentity(lid) misc.saveLocalIdentity() print '+++++ UPDATE IDENTITY', str(lid.contacts) _send_servers().addBoth(_id_sent)
def _try2connect(): remote_addr = dhnio.ReadTextFile(sys.argv[3]).split(' ') remote_addr = (remote_addr[0], int(remote_addr[1])) t = int(str(int(time.time()))[-1]) + 1 data = '0' * t stun.getUDPClient().transport.write(data, remote_addr) print 'sent %d bytes to %s' % (len(data), str(remote_addr)) reactor.callLater(1, _try2connect)
def _send_to_remote_peer(x, idurl, filename, loop_delay): print '+++++ PREPARE SENDING TO', idurl init(stun.getUDPClient()) A().debug = True contacts.addCorrespondent(idurl) reactor.callLater(1, Start) ident = identitycache.FromCache(idurl) if ident is None: print '+++++ REMOTE IDENTITY IS NONE' reactor.stop() return x, udphost, udpport, x = ident.getProtoParts('udp') transport_udp_session.SetStateChangedCallbackFunc(lambda index, old, new: _state_changed(index, udphost, new, filename, loop_delay))
def _start_sending_ip(): init(stun.getUDPClient()) A().debug = True reactor.callLater(1, Start) def _start_session(): # transport_udp_session.SetStateChangedCallbackFunc(_state_changed) address = (sys.argv[2], int(sys.argv[3])) sess = transport_udp_session.open_session(address) filename = sys.argv[4] loop_delay = None if len(sys.argv)<6 else int(sys.argv[5]) transport_udp_session._StateChangedCallbackFunc = lambda index, old, new: _state_changed(index, address[0], new, filename, loop_delay) sess.automat('init', None) reactor.callLater(2, _start_session)
def _receive_from_remote_peer(x, idurl): init(stun.getUDPClient()) A().debug = True contacts.addCorrespondent(idurl) reactor.callLater(1, Start)