Exemple #1
0
    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)
Exemple #2
0
 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)
Exemple #3
0
 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))
Exemple #4
0
 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)        
Exemple #5
0
 def _receive_from_remote_peer(x, idurl):
     init(stun.getUDPClient())
     A().debug = True
     contacts.addCorrespondent(idurl)
     reactor.callLater(1, Start)