day19作业

import socket
server = socket.socket()
server.bind(('10.7.156.60', 7080))
server.listen(512)
print('开始监听')

while True:
#接收客户端请求
conversation, addr = server.accept()
print('===')
print(addr)
print('++++')

while True:
    #接收消息
    message_re = conversation.recv(1024).decode('utf-8')
    print(message_re)
    print('\\\\\\\\')
    #服务器给客户端发送消息
    #1.服务器给客户端发送一张图片,客户端保存图片到本地
    if message_re == '1':
        print('\\\\')
        with open('./files/担担面.jpg', 'br') as f:
            while True:
                content = f.read()
                if not content:
                    print('发送完毕')
                    conversation.send('发送完毕'.encode(encoding='utf-8'))
                    break
                conversation.send(content)
                # 关闭连接
                # conversation.close()

    #2.服务器输入一段文字发送给客户端, 客户端将文字保存在一个message.txt文件中
    elif message_re == '2':
        content1 = input('请输入传输文字:')
        conversation.send(content1.encode(encoding='utf-8'))
        # conversation.close()

    #3.通知服务器关闭连接,并且客户端结束
    elif message_re == '3':
        conversation.close()
        print('断开连接')
        break

client:

import socket

client = socket.socket()
client.connect(('10.7.156.60', 7080))

with open('./files/show_page.txt', 'r', encoding='utf-8') as f:
page = f.read()

while True:

print(page)
# 给服务器发送消息
message = input('请输入你想要的序号:')
client.send(message.encode(encoding='utf-8'))

if message == '1':
    data = bytes()
    re_data = client.recv(1024)
    while re_data:
        data += re_data
        re_data = client.recv(1024)
        if re_data == '发送完毕'.encode(encoding='utf-8'):
            print('接收成功')
            break

    with open('./files/new_pic.jpg', 'bw') as f:
        f.write(data)
    print('接收到图片啦')
    continue

elif message == '2':
    messages = client.recv(1024).decode('utf-8')
    with open('./files/message.txt', 'w', encoding='utf-8') as f:
        f.write(messages)
    print('接收到文档啦')
    continue

elif message == '3':
    print('中断连接')
    break

else:
    print('请输入1~3')
    continue

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