Ho 2 risposte UDP ad un IP di destinazione, uno dopo l'altro:Python 3 - verificare sendto() Successo
sendsock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
sendsock.bind(('%s' % ip_adr, 1036))
#send first packet
ok_response = "Reception Success, more to come"
str2bytes = bytes(ok_response,'utf-8')
sendsock.sendto(str2bytes, ("%s" % phone.ip_addr, int(phone.sip_port)))
#send second packet
ok_response = "Fun data here"
str2bytes = bytes(ok_response,'utf-8')
sendsock.sendto(str2bytes, ("%s" % phone.ip_addr, int(phone.sip_port)))
posso vedere con Wireshark il secondo pacchetto viene inviato. Ma il primo sembra essere ignorato.
A meno che qualcuno non veda un singhiozzo nel mio codice, c'è un modo per fare un'istruzione if su ciascuna istanza sendsock.sendto()
, per garantire che il codice non continui finché non viene riconosciuto come inviato?
Inoltre, dovrei chiudere il sendock?
grazie Lev. come si applica l'evidenziazione della sintassi a Python? – coffeemonitor
@lev ha aggiunto il tag principale 'python' alla tua Q, quindi evidenzierà l'utilizzo di quello (i tag Python 2.x Python 3.x etc ... non lo fanno) - altrimenti, inserisci manualmente un' ! - language: lang-python -> 'prima del blocco di codice (o solo all'inizio del tuo post per renderlo predefinito) –
Molto più chiaro grazie Jon. – coffeemonitor