import socket
import threading
def client_exec(new_client_socket):
“”"
处理客户端请求
:param new_client_socket:给客户端发送数据的套接字
:return: None
“”"
while True:
# 接受客户端发来的数据
recv_mg = new_client_socket.recv(124)
if recv_mg:
print(recv_mg.decode('utf-8'))
# 给客户端发送消息
new_client_socket.send('收到'.encode('utf-8'))
else:
break
# 关闭套接字
new_client_socket.close()
def main():
“”“多任务Tcp聊天器”""
# 创建套接字
tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定端口并设置为端口复用
tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)
tcp_server_socket.bind(('127.0.0.1', 8080))
# 设置为监听模式
tcp_server_socket.listen(128)
# 循环处理多个客户的请求
while True:
# 接受客户端请求
new_client_socket, recv_addr = tcp_server_socket.accept()
T = threading.Thread(target=client_exec,args=(new_client_socket,))
T.start()
# 关闭套接字
tcp_server_socket.close()
if name == ‘main’:
main()