server.py
from socket import *
import os
from threading import *
class download(Thread):
def __init__(self,connect,address):
super().__init__()
self.connect=connect
self.address=address
def run(self) -> None:
with open('start.txt','r',encoding='utf-8') as f:
start=f.read()
self.connect.send(start.encode(encoding='utf-8'))
while True:
num = self.connect.recv(1024).decode(encoding='utf-8')
if num == '1':
print('請(qǐng)求文字')
str2 = input('發(fā)送:')
self.connect.send(str2.encode(encoding='utf-8'))
continue
elif num == '2':
print('請(qǐng)求圖片')
list1 = os.listdir('./img')
str1 = str(list1).replace(' ', '')
self.connect.send(str1.encode(encoding='utf-8'))
img_name = self.connect.recv(1024).decode(encoding='utf-8')
if img_name not in list1:
self.connect.send('圖片不存在'.encode(encoding='utf-8'))
else:
self.connect.send('發(fā)送圖片'.encode(encoding='utf-8'))
is_send = self.connect.recv(1024).decode(encoding='utf-8')
print(img_name)
if is_send == '來(lái)吧':
with open('./img/%s' % img_name, 'rb') as f:
print('11')
self.connect.send(f.read())
if num == '3':
self.connect.send('886'.encode(encoding='utf-8'))
break
def runfun1():
server=socket()
server.bind(('10.7.181.100',8888))
server.listen(512)
while True:
connet,adress=server.accept()
t=download(connet,adress)
t.start()
runfun1()
client.py
from socket import *
client=socket()
client.connect(('10.7.181.100',8888))
while True:
re_data = client.recv(1024)
print(re_data.decode(encoding='utf-8'))
if re_data.decode(encoding='utf-8') == '886':
client.close()
break
if re_data.decode(encoding='utf-8')=='發(fā)送圖片':
client.send('來(lái)吧'.encode(encoding='utf-8'))
name=input('請(qǐng)輸入保存圖片的名字:')
while True:
my_img = client.recv(1024)
with open('./newimg/%s.jpg'%name,'ab')as f:
f.write(my_img)
if (len(my_img)<1024):
print('圖片保存成功')
break
n = input('選擇:')
client.send(n.encode(encoding='utf-8'))