#!/usr/bin/python3 # -*- coding: UTF-8 -*- import _thread import socket import time def tcp_server(threadName, delay): s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.bind(("", 19999)) s.listen(1) clientsocket,addr=s.accept() print("连接地址:{}".format(addr)) while True: msg=clientsocket.recv(1024) print("接收数据:{}".format(msg.decode('utf-8'))) if not msg or msg.decode('utf-8')=="exit": break clientsocket.close() print("exit thread1") def tcp_client(threadName, delay): time.sleep(delay) s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.connect(("127.0.0.1",19999)) while True: time.sleep(delay) msg=input("请输入发送数据:") if msg=="exit": break s.send(msg.encode('utf-8')) s.close() print("exit thread2") #开启两个线程 try: _thread.start_new_thread(tcp_server, ("server", 0)) _thread.start_new_thread(tcp_client, ("client", 1)) except: print("Error:无法启动新线程") while True: pass