客户端
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:要运行以上两个文件,必须先运行服务端的文件,再运行客户端的文件才能连接到服务端