diff --git a/uasyncio.udp/example_dns_junk.py b/uasyncio.udp/example_dns_junk.py new file mode 100644 index 00000000..ce651fb5 --- /dev/null +++ b/uasyncio.udp/example_dns_junk.py @@ -0,0 +1,26 @@ +# This example is intended to run with dnsmasq running on localhost +# (Ubuntu comes configured like that by default). Dnsmasq, receiving +# some junk, is still kind to reply something back, which we employ +# here. +import uasyncio +import uasyncio.udp +import usocket + +def udp_req(addr): + s = uasyncio.udp.socket() + print(s) + yield from uasyncio.udp.sendto(s, b"!eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", addr) + try: + resp = yield from uasyncio.wait_for(uasyncio.udp.recv(s, 1024), 1) + print(resp) + except uasyncio.TimeoutError: + print("timed out") + + +import logging +logging.basicConfig(level=logging.INFO) + +addr = usocket.getaddrinfo("127.0.0.1", 53)[0][-1] +loop = uasyncio.get_event_loop() +loop.run_until_complete(udp_req(addr)) +loop.close()