xref: /nrf52832-nimble/rt-thread/examples/network/tcp_server.py (revision 104654410c56c573564690304ae786df310c91fc)
1*10465441SEvalZero# -*- coding: utf-8 -*-
2*10465441SEvalZero#引入模块
3*10465441SEvalZeroimport socket
4*10465441SEvalZeroimport threading
5*10465441SEvalZeroimport time
6*10465441SEvalZeros = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
7*10465441SEvalZero
8*10465441SEvalZero# 监听端口:
9*10465441SEvalZeros.bind(('192.168.10.110', 6001))
10*10465441SEvalZero
11*10465441SEvalZeros.listen(5)
12*10465441SEvalZeroprint 'Waiting for connection...'
13*10465441SEvalZero
14*10465441SEvalZerodef tcp_link(sock,addr):
15*10465441SEvalZero    print 'Accept new connection from %s:%s...' % addr
16*10465441SEvalZero    sock.send('Welcome to RT-Thread!')
17*10465441SEvalZero    while True:
18*10465441SEvalZero        data=sock.recv(1024)
19*10465441SEvalZero        time.sleep(1)
20*10465441SEvalZero        if data=='exit' or not data:
21*10465441SEvalZero            break
22*10465441SEvalZero        print data
23*10465441SEvalZero        sock.send('Hello,%s!'%data)
24*10465441SEvalZero    sock.close()
25*10465441SEvalZero    print 'Connection from %s:%s closed.'%addr
26*10465441SEvalZero
27*10465441SEvalZerowhile True:
28*10465441SEvalZero
29*10465441SEvalZero    #接受一个新连接
30*10465441SEvalZero    sock,addr=s.accept()
31*10465441SEvalZero
32*10465441SEvalZero    #创建新线程来处理TCP连接
33*10465441SEvalZero    t=threading.Thread(target=tcp_link(sock,addr))
34*10465441SEvalZero
35