day18-作业

server.py

from socket import *
import os
server=socket()
server.bind(('10.7.181.100',8888))
server.listen(512)
with open('start.txt','r',encoding='utf-8') as f:
    start=f.read()
while True:
    connet,adress=server.accept()
    connet.send(start.encode(encoding='utf-8'))
    while True:
        num = connet.recv(1024).decode(encoding='utf-8')
        if num == '1':
            print('请求文字')
            str2 = input('发送:')
            connet.send(str2.encode(encoding='utf-8'))
            continue
        elif num == '2':
            print('请求图片')
            list1 = os.listdir('./img')
            str1 = str(list1).replace(' ','')
            connet.send(str1.encode(encoding='utf-8'))
            img_name=connet.recv(1024).decode(encoding='utf-8')
            if img_name not in list1:
                connet.send('图片不存在'.encode(encoding='utf-8'))
            else:
                connet.send('发送图片'.encode(encoding='utf-8'))
                is_send=connet.recv(1024).decode(encoding='utf-8')
                print(img_name)
                if is_send=='来吧':
                    with open('./img/%s'%img_name,'rb') as f:
                        print('11')
                        connet.send(f.read())

        if num == '3':
            connet.send('886'.encode(encoding='utf-8'))
            break
    connet.close()
    break

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')=='发送图片':
        client.send('来吧'.encode(encoding='utf-8'))
        name=input('请输入保存图片的名字:')
        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'))

界面选择

==============
1.请求文字
2.请求图片
3.886(下线了)
请选择:
==============

你可能感兴趣的:(day18-作业)