服务器:
import socket
#创建服务器套接字
server=socket.socket()
#绑定IP地址和端口
server.bind(('10.7.156.68',8080))
#监听请求
server.listen(512)
#让服务器保持一直在线状态
while True:
#不断接收客户端的请求
conversation,addr=server.accept()
print('已连接')
while True:
#接收数据
data=conversation.recv(1024)
message=data.decode('utf-8')
if message=='1':
with open('./files/image.jpg','rb')as f:
content=f.read()
print('发送文件成功')
conversation.send(content)
conversation.close()
elif message=='2':
conversation.send('这是您要的文字'.encode('utf-8'))
print('发送文字成功')
conversation.close()
客户端:
import socket
#创建客户端套接字
client=socket.socket()
while True:
#连接服务器
client.connect(('10.7.156.68',8080))
#显示界面
with open('./files/image.txt','r',encoding='utf-8')as f :
print(f.read())
#发送数据
choose=input('请输入选择项1-3:')
choose_data = choose.encode('utf-8')
if choose=='1':
client.send(choose_data)
image = client.recv(1024)
data = bytes() # 创建一个空的二进制数据
while image:
# print(message_re)
data += image # 将每次获取到的数据叠加
# print('接收到数据')
image = client.recv(1024)
with open('./files/image2.jpg', 'rw')as f:
f.write(image)
print('图片保存成功')
elif choose=='2':
client.send(choose_data)
text = client.recv(1024)
text1=text.decode('utf-8')
with open('./files/text.txt', 'w',encoding='utf-8')as f:
f.write(text1)
print('文字保存成功')
else:
client.send(choose_data)
break