simple_echo_server.py
Go to the documentation of this file.
1 #!/usr/bin/env python
2 
3 import SocketServer
4 import sys
5 import argparse
6 import socket
7 HOSTNAME = '0.0.0.0'
8 
9 def runTCP(host, port, buffer_size):
10  global BUFFER_SIZE
11  BUFFER_SIZE = buffer_size
12  server = SocketServer.TCPServer((host, port), Handler)
13  server.serve_forever()
14 
15 def printData(data):
16  print data,
17  print "(%d bytes)" % sys.getsizeof(data)
18 
19 class Handler(SocketServer.StreamRequestHandler):
20  def handle(self):
21  global BUFFER_SIZE
22  while True:
23  data = self.request.recv(BUFFER_SIZE)
24  printData(data)
25  if len(data) == 0:
26  break
27  #self.request.send(data)
28  self.request.close()
29 
30 def runUDP(host, port, buffer_size):
31  clientsock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
32  clientsock.bind((host, port))
33  while True:
34  recv_msg, addr = clientsock.recvfrom(buffer_size)
35  printData(recv_msg)
36 
37 
38 if __name__ == "__main__":
39  parser = argparse.ArgumentParser(description='Simple socket server')
40  parser.add_argument("--port", default=8080, type=int)
41  parser.add_argument("--buffer-size", default=1024, type=int)
42  parser.add_argument("--udp", action="store_true")
43  args = parser.parse_args()
44 
45  if args.udp:
46  print 'listening UDP', (HOSTNAME, args.port), "buffer size is", args.buffer_size
47  runUDP(HOSTNAME, args.port, args.buffer_size)
48  else:
49  print 'listening TCP', (HOSTNAME, args.port), "buffer size is", args.buffer_size
50  runTCP(HOSTNAME, args.port, args.buffer_size)
51 
52 
def runTCP(host, port, buffer_size)
def runUDP(host, port, buffer_size)


mini_maxwell
Author(s): Yusuke Furuta
autogenerated on Wed Jul 10 2019 03:47:09