Browse Source

add some python example for tcp server and client.

SummerGift 7 years ago
parent
commit
0d33799d0d
2 changed files with 50 additions and 0 deletions
  1. 16 0
      examples/network/tcp_client.py
  2. 34 0
      examples/network/tcp_server.py

+ 16 - 0
examples/network/tcp_client.py

@@ -0,0 +1,16 @@
+# -*- coding: utf-8 -*-
+
+import socket
+
+s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
+
+s.connect(('192.168.10.110',6001))
+
+print s.recv(1024)
+
+for data in ['rtt_nano','rtt_thread','rtt_bsp']:
+    s.send(data)
+    print s.recv(1024)
+
+s.send('exit')
+s.close()

+ 34 - 0
examples/network/tcp_server.py

@@ -0,0 +1,34 @@
+# -*- coding: utf-8 -*-
+#引入模块
+import socket
+import threading
+import time
+s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+
+# 监听端口:
+s.bind(('192.168.10.110', 6001))
+ 
+s.listen(5)
+print 'Waiting for connection...'
+
+def tcp_link(sock,addr):
+    print 'Accept new connection from %s:%s...' % addr
+    sock.send('Welcome to RT-Thread!')
+    while True:
+        data=sock.recv(1024)
+        time.sleep(1)
+        if data=='exit' or not data:
+            break
+        print data
+        sock.send('Hello,%s!'%data)
+    sock.close()
+    print 'Connection from %s:%s closed.'%addr
+
+while True:
+    
+    #接受一个新连接
+    sock,addr=s.accept()
+    
+    #创建新线程来处理TCP连接
+    t=threading.Thread(target=tcp_link(sock,addr))
+