day18-homework

import socket

server = socket.socket()
server.bind(('10.7.181.95', 8091))
server.listen(512)
print('開始監(jiān)聽')

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


    while True:
        # 接收消息
        message_re = conversation.recv(1024).decode('utf-8')
        print(message_re)
        print('\\\\\\\\')
        # 服務器給客戶端發(fā)送消息
        # 1.服務器給客戶端發(fā)送一張圖片,客戶端保存圖片到本地
        if message_re == '1':
            print('\\\\')
            with open('files/luffy.jpg', 'rb') as f:
                while True:
                    content = f.read()
                    if not content:
                        print('發(fā)送完畢')
                        conversation.send('發(fā)送完畢'.encode(encoding='utf-8'))
                        break
                    conversation.send(content)
                    # 關閉連接
                    # conversation.close()

        # 2.服務器輸入一段文字發(fā)送給客戶端, 客戶端將文字保存在一個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

import socket


client = socket.socket()
client.connect(('10.7.181.95', 8091))




while True:

    # 給服務器發(fā)送消息
    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 == '發(fā)送完畢'.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
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容