客户端
from socket import * from threading import Thread #客户端 def rece_data(): while 1: # 接受服务端消息 rece_data = client_socket.recv(1024) rece_content = rece_data.decode('utf-8') print(f"服务端说:{rece_content}") if rece_content == 'end': print('结束接受消息') break def send_data(): while 1: # 给服务端发消息 msg = input('>') client_socket.send(msg.encode('utf-8')) if msg == 'end': break if __name__ == '__main__': client_socket = socket(AF_INET, SOCK_STREAM) client_socket.connect(('127.0.0.1', 8899)) t1 = Thread(target=rece_data) t2 = Thread(target=send_data) t1.start() t2.start() t1.join() t2.join() client_socket.close()
服务端
from socket import * from threading import Thread #服务端 def rece_data(): while 1: rece_data = client_socket.recv(1024) rece_content = rece_data.decode('utf-8') print(f"客户端说:{rece_content},from{client_info}") if rece_content == 'end': print('结束接受消息') break def send_data(): while 1: msg = input('>') client_socket.send(msg.encode('utf-8')) if msg == 'end': # print('结束接受消息') break if __name__ == '__main__': server_socket = socket(AF_INET, SOCK_STREAM) # 创建TCP套接字 server_socket.bind(('127.0.0.1', 8899)) # 本机监听8899端口 server_socket.listen(5) print('等待接受数据!') client_socket, client_info = server_socket.accept() print('一个客户端建立链接成功') t1 = Thread(target=rece_data) t2 = Thread(target=send_data) t1.start() t2.start() t1.join() t2.join() client_socket.close() server_socket.close()
ps:要运行以上两个文件,必须先运行服务端的文件,再运行客户端的文件才能连接到服务端