day18-作業(yè)

作業(yè):

  1. 客戶端和服務器聊天,可以一直聊天,直到一方發(fā)送’拜拜’。然后就可以和下一個人一直聊
    服務器:
import socket

server = socket.socket()
server.bind(('10.7.187.55', 8888))

server.listen(100)
print('開始監(jiān)聽。')

while 1:
    conversation, address = server.accept()

    while 1:
        get_data = conversation.recv(1024)
        print('客戶端:', get_data.decode('utf-8'))
        if get_data.decode('utf-8') == '拜拜':
            print('客戶端已退出連接,等待下次客戶端請求:', address)
            break

        send_data = input('服務器:')
        conversation.send(send_data.encode('utf-8'))
        if send_data == '拜拜':
            print('已斷開本次連接,等待下次客戶端請求:')
            break

客戶端:

import socket

client = socket.socket()

client.connect(('10.7.187.55', 8888))

while 1:
    send_data = input('客戶端:')
    client.send(send_data.encode('utf-8'))
    if send_data == '拜拜':
        print('已斷開本次連接。')
        break

    get_data = client.recv(1024)
    print('服務器:', get_data.decode('utf-8'))
    if get_data.decode('utf-8') == '拜拜':
        print('服務器已斷開本次連接。')
        break

2.客戶端給服務器發(fā)送請求,請求成功后,客戶端給服務發(fā)送‘1’,服務器就給客戶端發(fā)送一張圖片;客戶端給服務發(fā)送‘2’,服務器就給客戶端返回一個json文件中的內容;客戶端給服務發(fā)送‘3’, 服務器返回’拜拜’,然后斷開連接
服務器:

import socket
import json

server = socket.socket()
server.bind(('10.7.187.55', 8888))

server.listen(200)
print('開始監(jiān)聽:')

while 1:
    conversation, adress = server.accept()

    while 1:
        get_data = conversation.recv(1024)
        print('客戶端:', get_data.decode('utf-8'))
        if get_data.decode('utf-8') == '3':
            send_data = '拜拜!'
            conversation.send(send_data.encode('utf-8'))
            print('當前客戶端已斷開連接。', adress)
            break
        elif get_data.decode('utf-8') == '1':
            with open('王也.jpg', 'rb') as f:
                send_data = f.read()
                conversation.send(send_data)
            print('已發(fā)送圖片。')
        elif get_data.decode('utf-8') == '2':
            with open('files/測試文件.json', 'r', encoding='utf-8') as f:
                content = json.load(f)
                conversation.send(str(content).encode('utf-8'))
                print('已發(fā)送文件。')

客戶端:

import socket

client = socket.socket()
client.connect(('10.7.187.55', 8888))

while 1:
    send_data = input('客戶端:')
    client.send(send_data.encode('utf-8'))

    if send_data == '3':
        print('已退出連接。')
        break
    elif send_data == '1':
        content = bytes()
        while 1:
            get_data = client.recv(1024)
            content += get_data
            print(len(get_data))
            # if len(get_data) == 39:
            if len(get_data) < 1024:
                break

        with open('接收文件/圖片1.jpg', 'bw') as f:
            f.write(content)
            print('接收圖片成功。')
    elif send_data == '2':
        get_data = client.recv(1024)
        print('服務器:', get_data.decode())
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 客戶端和服務器聊天,可以一直聊天,直到一方發(fā)送’拜拜’。然后就可以和下一個人一直聊 2.客戶端給服務器發(fā)送請求,請...
    楊海py閱讀 419評論 0 0
  • 作業(yè): 客戶端和服務器聊天,可以一直聊天,直到一方發(fā)送’拜拜’。然后就可以和下一個人一直聊 2.客戶端給服務器發(fā)送...
    2ez4ddf閱讀 226評論 0 0
  • 客戶端和服務器聊天,可以一直聊天,直到一方發(fā)送’拜拜’。然后就可以和下一個人一直聊 2.客戶端給服務器發(fā)送請求,請...
    Oot_zhl閱讀 315評論 0 0
  • 作業(yè): 1. 客戶端和服務器聊天,可以一直聊天,直到一方發(fā)送’拜拜’。 然后就可以和下一個人一直聊 2.客戶端給服...
    憨猜猜閱讀 238評論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,724評論 19 139

友情鏈接更多精彩內容