Shammer's Philosophy

My private adversaria

UDP send client

pythonUDP データを送るサンプル。宛先IPとポート、送るデータサイズのみオプション指定できるようにしてみました。

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

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

def main():
  host = x['host']
  port = int(x['port'])
  size = int(x['size'])
  count = 0
  message = ''
  sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  with closing(sock):
    for i in range(0, size):
      message = message + 'X'
    sock.sendto(message, (host, port))
    count += 1
    time.sleep(1)
  return

if __name__ == '__main__':
  main()