I 2 UDP-Antworten auf eine Ziel-IP haben, ein Recht nach dem anderen:Python 3 - überprüfen sendto() Erfolg
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)))
ich mit Wireshark das zweite Paket wird gesendet sehen. Aber das erste scheint ignoriert zu werden.
Wenn jemand in meinem Code keinen Schluckauf sieht, gibt es eine Möglichkeit, eine if-Anweisung für jede sendsock.sendto()
Instanz zu erstellen, um sicherzustellen, dass der Code erst dann weiter verarbeitet wird, wenn er als gesendet bestätigt wird?
Auch sollte ich den Sendsock schließen?
danke Lev. Wie wenden Sie Syntax-Highlighting auf Python an? – coffeemonitor
@lev hat das Haupt-'python'-Tag zu Ihrem Q hinzugefügt, so dass es hervorgehoben wird, dass es verwendet wird (Python 2.x Python 3.x etc ... Tags tun das nicht) - andernfalls setzen Sie einfach ein' < ! - language: lang-python -> 'vor dem Codeblock (oder einfach oben in deinem Post, um es zu einem Standard zu machen) –
Viel klarer dank Jon. – coffeemonitor