Это простой socketserver
пример, который должен получить строку по UDP и вывести ее:
import socketserver
class LineHandler(socketserver.DatagramRequestHandler):
def handle(self):
line = self.rfile.readline().strip()
print(line)
server = socketserver.UDPServer(('', 4444), LineHandler)
server.serve_forever()
Однако, если две строки приходят одновременно, читается только первая строка:
(printf 'lol\n'; printf 'what\n') | nc -u localhost 4444