mirror of https://github.com/ARMmbed/mbed-os.git
35 lines
965 B
Python
35 lines
965 B
Python
from SocketServer import BaseRequestHandler, TCPServer
|
|
from time import time
|
|
|
|
from private_settings import LOCALHOST
|
|
|
|
MAX_INDEX = 126
|
|
MEGA = float(1024 * 1024)
|
|
|
|
class TCP_EchoHandler(BaseRequestHandler):
|
|
def handle(self):
|
|
print "\nconnection received"
|
|
start = time()
|
|
bytes = 0
|
|
index = 0
|
|
while True:
|
|
data = self.request.recv(1024)
|
|
if not data: break
|
|
|
|
bytes += len(data)
|
|
for n in map(ord, data):
|
|
if n != index:
|
|
print "data error %d != %d" % (n , index)
|
|
index += 1
|
|
if index > MAX_INDEX:
|
|
index = 0
|
|
|
|
self.request.sendall(data)
|
|
t = time() - start
|
|
b = float(bytes * 8) * 2
|
|
print "Throughput: (%.2f)Mbits/s" % ((b/t)/MEGA)
|
|
|
|
server = TCPServer((LOCALHOST, 7), TCP_EchoHandler)
|
|
print "listening for connections"
|
|
server.serve_forever()
|