summaryrefslogtreecommitdiff
path: root/tmk_core/tool/mbed/mbed-sdk/workspace_tools/host_tests/tcpecho_server.py
diff options
context:
space:
mode:
authorJun Wako <wakojun@gmail.com>2015-04-24 16:26:14 +0900
committerJun Wako <wakojun@gmail.com>2015-04-24 16:26:14 +0900
commita3d96d3aa96318d339a67de1085e0ae495d57c84 (patch)
treedb85c16d03b52399d6c109eda7ea0341a0de0b1d /tmk_core/tool/mbed/mbed-sdk/workspace_tools/host_tests/tcpecho_server.py
parent1d5bac21dc6f1425b8ef4bbe7935330c37c3a93e (diff)
parent1fe4406f374291ab2e86e95a97341fd9c475fcb8 (diff)
Merge commit '1fe4406f374291ab2e86e95a97341fd9c475fcb8'
Diffstat (limited to 'tmk_core/tool/mbed/mbed-sdk/workspace_tools/host_tests/tcpecho_server.py')
-rw-r--r--tmk_core/tool/mbed/mbed-sdk/workspace_tools/host_tests/tcpecho_server.py50
1 files changed, 50 insertions, 0 deletions
diff --git a/tmk_core/tool/mbed/mbed-sdk/workspace_tools/host_tests/tcpecho_server.py b/tmk_core/tool/mbed/mbed-sdk/workspace_tools/host_tests/tcpecho_server.py
new file mode 100644
index 0000000000..4a68bd9ee7
--- /dev/null
+++ b/tmk_core/tool/mbed/mbed-sdk/workspace_tools/host_tests/tcpecho_server.py
@@ -0,0 +1,50 @@
+"""
+mbed SDK
+Copyright (c) 2011-2013 ARM Limited
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+"""
+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()