-
Notifications
You must be signed in to change notification settings - Fork 2
/
qos_server.py
29 lines (25 loc) · 921 Bytes
/
qos_server.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/env python
# coding=utf-8
import socket
import argparse
import time
import SocketServer
parser = argparse.ArgumentParser(description='Manual to this tcp_server.py')
parser.add_argument('-6', '--ipv6', default=False, help="ipv6 Switch", action='store_true')
parser.add_argument('-p', '--port', type=int, help="server port")
args = parser.parse_args()
class MyServer(SocketServer.BaseRequestHandler):
def handle(self):
while True:
data = self.request.recv(1024)[:30]
self.request.sendall(data)
if data == '' or "short" in data:
break
time.sleep(1)
self.request.close()
if __name__ == '__main__':
if args.ipv6:
SocketServer.TCPServer.address_family = socket.AF_INET6
server = SocketServer.ThreadingTCPServer(('', args.port), MyServer)
print("Start listening at %d" % args.port)
server.serve_forever()