Shammer's Philosophy

My private adversaria

Python UDP Echo Server ver 20150813

This is an upgraded version of my python UDP Echo Server written in UDP Echo Server with python version 20150802 - Shammerism. Adding argparse and this version can be set listen port as the command line argument.

#!/usr/bin/env python
import argparse
import socket
from contextlib import closing
from time import ctime

parser = argparse.ArgumentParser(description = 'Command Line Argument Parser')
parser.add_argument('-host', dest = 'host', default = '0.0.0.0')
parser.add_argument('-port', dest = 'port', required = True)
argument = vars(parser.parse_args())

host = argument['host']
port = int(argument['port'])
bufsize = 4096

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
with closing(sock):
    sock.bind((host, port))
    while True:
        message, client = sock.recvfrom(bufsize)
        print message + ' from ' + client[0] + ':' + str(client[1])
        sock.sendto('[%s] %s' % (ctime(), message), client)