#!/usr/bin/python3 # -*- coding: utf-8 -*- # -*- mode: Python -*- ''' fromUDP Udp server to cli v0.1b ''' from __future__ import print_function import traceback, time import argparse import socket import _thread import sys name="generator::fromUDP" def debug(*args, **kwargs): if( verbose == False ): return print(*args, file=sys.stderr, **kwargs) argsparser = argparse.ArgumentParser(description="fromUDP v0.1b help mode") argsparser.add_argument("-v","--verbose",action="store_true",help="Verbose output") argsparser.add_argument("-i","--ip",help="IP to bind to (0.0.0.0 by default)",default="0.0.0.0",type=str) argsparser.add_argument("-p","--port",help="UDP port to bind to (9000 by default)",default=9000,type=str) args = argsparser.parse_args() verbose = args.verbose ip = args.ip port = int(args.port) verbose = args.verbose def udp_thread(): while True: payload, client_address = sock.recvfrom(1024) udpath = payload.decode('utf_8') debug(udpath[0:]) print(udpath[0:], flush=True); ''' # Reply to client bytesToSend = str.encode("ACK :"+str(payload)) serverAddressPort = (client_address, port) bufferSize = 1024 #sock.sendto(bytesToSend, serverAddressPort) sock.sendto(bytesToSend, client_address) ''' def StartUDP(serverIP, UDPORT): global sock sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) server = ( serverIP,UDPORT) sock.bind(server) _thread.start_new_thread(udp_thread, ()) StartUDP(ip, port) # Do something else try: while True: time.sleep(0.005) except Exception: traceback.print_exc()