ich spiele gerade ein wenig mit UDP Hole Punching und bekomme seltsamerweise immer wieder einen "No route to host" Fehler.
Zuerst der Code:
Code: Alles auswählen
#!/usr/bin/env python
import sys
import socket
import time
def send_udp(sock, delay):
print ('delay: ' + str(delay) + ' sec.').ljust(18),
for i in range(10):
try:
tmp = sock.send('my teststring')
sys.stdout.write('.'); sys.stdout.flush()
except socket.error, e:
if e[1] == 'No route to host':
sys.stdout.write('!'); sys.stdout.flush()
time.sleep(delay)
print ''
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind((socket.gethostname(), 50123))
sock.connect(('72.14.221.104', 50456)) # google.de
#sock.connect(('private ip', 50456))
print ''
send_udp(sock, 0)
send_udp(sock, 0.5)
send_udp(sock, 1)
send_udp(sock, 1.5)
Zu einer privaten IP hingegen geht da dann aber etwas schief:google.de hat geschrieben: delay: 0 sec. ..........
delay: 0.5 sec. ..........
delay: 1 sec. ..........
delay: 1.5 sec. ..........
Woran kann das denn liegen? Die Gegenseite ist eine Fritzbox.private ip hat geschrieben: delay: 0 sec. ..........
delay: 0.5 sec. .!.!.!.!.!
delay: 1 sec. .!.!.!.!.!
delay: 1.5 sec. .!.!.!.!.!
Mir ist schon klar, dass das eher ein Netzwerkproblem ist, aber vielleicht kann mir hier ja jemand helfen.
Fragen? => Ganz laut schreien! : - )
Vielen dank schon mal und schöne Grüße,
el_bobo