import socket
import threading
import time
s = socket.socket() # 创建socket对象
host_addr = '192.168.137.1' # 根据自己电脑的IP地址而定
port = 9090
s.bind((host_addr, port))
s.listen(5) # 开启TCP监听
def tcp_link(f_conn, f_addr): # TCP处理线程定义
print('客户端连接,客户端地址为:', f_addr)
f_conn.send(b'hello,this is tcp server')
while True:
data = f_conn.recv(1024)
time.sleep(0.1)
if data.decode('utf-8') == 'exit':
break
else:
print('接收到来自客户端', f_addr, '的数据:', data.decode())
print('客户端', f_addr, '退出连接')
f_conn.close()
while True:
conn, addr = s.accept() # 阻塞型等待客户端连接 客户端可使用网络调试助手
t = threading.Thread(target=tcp_link, args=(conn, addr)) # 使用多线程,可以多个客户端连接
t.start()
更加详细的可以看这里:
https://keelii.com/2018/09/24/socket-programming-in-python/