2019-08-14 day18 作業(yè)

作業(yè)要求 .png

功能能夠完成但是沒有做錯誤輸入處理

服務器

import os
from socket import *

# 1創(chuàng)建服務器套接字
server = socket()
server.bind(('10.7.181.105', 9909))
server.listen(512)
# 開始監(jiān)聽
connect, address = server.accept()
print('客服端ip:', address)
if connect:
    send_message = '選項1.請求文字信息 \n選項2.請求圖片信息'
    connect.send(send_message.encode())
# 2運行服務器
name_list = []
while True:
    print('開始監(jiān)聽')
    re_data = connect.recv(1024).decode(encoding='utf-8')
    print(re_data)
    send_message2 = ''
    if re_data == '1':
        send_message2 = '==========================\n' \
                        '請求圖片信息你會獲得一個所有圖片名字的列表\n' \
                        '通過輸入圖片的名字來下載圖片,輸入3結束會話\n' \
                        '選項2.請求圖片信息\n' \
                        '選項3.結束會話'
        connect.send(send_message2.encode())
    elif re_data == '2':
        name_list = os.listdir('server/')
        send_message2 = str(name_list) + '\n' \
                                         '請輸入你要下載的圖片名字'
        connect.send(send_message2.encode())
    elif re_data == '3':
        break
    else:
        if not name_list:
            send_message2 = '選擇錯誤!!!!!!!!!\n' \
                            '請重新選擇:\n' \
                            + send_message
            connect.send(send_message2.encode())
        elif re_data:
            path = 'server/' + re_data
            print(path)
        with open(path, 'rb') as f:
            connect.send(f.read())

connect.close()

客服端

"""
from copy import deepcopy
from socket import *

# 1創(chuàng)建客服端套接字
client = socket()
server_str = '10.7.181.105'
# input('請輸入要連接的服務器ip:')
client.connect((server_str, 9909))
re_data = client.recv(1024)
print(re_data.decode(encoding='utf-8'))
choose_input = input('請輸入你的選擇:')
choose_input2 = ''
i = 0
while True:

    if choose_input in ['1', '2']:
        client.send(choose_input.encode())
        re_data = client.recv(1024)
        print(re_data.decode(encoding='utf-8'))
        choose_input = input('請輸入你的選擇:')
    if choose_input == '3':
        client.close()
        break
    elif choose_input not in ['1', '2']:
        print(choose_input, i)
        if choose_input != choose_input2:
            print('1')
            choose_input2 = deepcopy(choose_input)
            client.send(choose_input.encode())
        re_data = client.recv(1024)
        print(len(re_data))
        with open('client/'+choose_input, 'ab') as f:
            f.write(re_data)
            i += 1

        if len(re_data) < 1024:
            choose_input = '1'



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

相關閱讀更多精彩內(nèi)容

  • 計算機網(wǎng)絡概述 網(wǎng)絡編程的實質(zhì)就是兩個(或多個)設備(例如計算機)之間的數(shù)據(jù)傳輸。 按照計算機網(wǎng)絡的定義,通過一定...
    蛋炒飯_By閱讀 1,365評論 0 10
  • 1.網(wǎng)絡編程1.1計算機網(wǎng)絡概述網(wǎng)絡編程的實質(zhì)就是兩個(或多個)設備(例如計算機)之間的數(shù)據(jù)傳輸。按照計算機網(wǎng)絡的...
    任振銘閱讀 474評論 0 1
  • 每天進步一點點點點點點點點點點點點點點點點點點點點點點點點點點點點點點~~從開始只能寫幾句話、模仿別人的觀點,到現(xiàn)...
    一個帥氣的名字呀閱讀 18,939評論 4 31
  • 廢話一波~思考問題的簡單方法就是為什么,是什么,怎么做。 今天來聊聊我二刷的用戶體驗要素。每一次都有不一樣的感悟。...
    檸檬不萌_630閱讀 751評論 0 2
  • 寫在集團公司2019年年會之夜。 今天分享的是:間隔年。 西方有“間隔年”這樣的概念,叫Gap Year。 西方國...
    顏娘娘的碎碎念閱讀 609評論 0 2

友情鏈接更多精彩內(nèi)容