day18 作业

  1. 客户端和服务器聊天,可以一直聊天,直到一方发送’拜拜’。然后就可以和下一个人一直聊
"""服务器:"""

import socket

server = socket.socket()

server.bind(('10.7.187.65', 8080))
server.listen(100)
while True:
    conversation, addr = server.accept()
    while True:
        re_data = conversation.recv(1024)
        print('客户端:', re_data.decode('utf-8'))
        if re_data.decode('utf-8') == '拜拜':
            conversation.send('拜拜'.encode(encoding='utf-8'))
            conversation.close()
            break
        message = input("服务器:")
        conversation.send(message.encode(encoding='utf-8'))
        if message == '拜拜':
            conversation.close()
            break
"""客户端:"""

import socket

clinet = socket.socket()

clinet.connect(('10.7.187.65', 8080))


while True:
    message = input('客户端:')
    clinet.send(message.encode('utf-8'))

    re_data = clinet.recv(1024)
    print('服务器:', re_data.decode('utf-8'))
"""客户端2:"""

import socket

clinet = socket.socket()

clinet.connect(('10.7.187.65', 8080))


while True:
    message = input('客户端2:')
    clinet.send(message.encode('utf-8'))

    re_data = clinet.recv(1024)
    print('服务器:', re_data.decode('utf-8'))

客户端: 你好
服务器:拜拜
客户端: 你好
服务器:你好
客户端: 好
服务器:拜拜
客户端: 你好
服务器:你好
客户端: 好
服务器:拜拜

2.客户端给服务器发送请求,请求成功后,客户端给服务发送‘1’,服务器就给客户端发送一张图片;客户端给服务发送‘2’,服务器就给客户端返回一个json文件中的内容;客户端给服务发送‘3’, 服务器返回’拜拜’,然后断开连接

"""服务器:"""

import socket

server = socket.socket()

server.bind(('10.7.187.65', 8081))
server.listen(100)
while True:
    conversation, addr = server.accept()
    while True:
        re_data = conversation.recv(2048)
        print('客户端2:', re_data.decode('utf-8'))
        if re_data.decode('utf-8') == '1':
            with open('girl.jpg', 'br') as f:
                content = f.read()
                conversation.send(content)

        elif re_data.decode('utf-8') == '2':
            with open('qiyou_lyrics.json', 'br') as f:
                content = f.read()
            conversation.send(content)

        else:
            conversation.send('拜拜'.encode(encoding='utf-8'))
            conversation.close()
            break
"""客户端:"""

import socket

clinet = socket.socket()

clinet.connect(('10.7.187.65', 8081))


data = bytes()
while True:
    message = input('客户端2:')
    clinet.send(message.encode('utf-8'))
    if message == '1':
        while True:
            re_data = clinet.recv(2048)
            data += re_data
            print(len(re_data))
            if len(re_data) < 2048:
                break
        with open('new1.jpg', 'bw') as f:
            f.write(data)

    elif message == '2':
        while True:
            re_data = clinet.recv(2048)
            data += re_data
            print('接收数据中!')
            print(len(re_data))
            if len(re_data) < 2048:
                break
        with open('new.json', 'bw') as f:
            f.write(data)
    else:
        re_data = clinet.recv(2048)
        print('服务器:', re_data.decode('utf-8'))

结果1:

day18 作业_第1张图片
new1.jpg

结果2:

["梁汉文 - 七友",
"作曲: 雷颂德 作词: 林夕",
"为了她 又再勉强去谈天论爱",
"又再振作去慰解他人",
"如难复合便尽早放开",
"凡事看开",
"又再讲 没有情人时还可自爱",
"忘掉或是为自己感慨",
"笑住说沉沦那些苦海",
"会有害",
"因为我坚强到利用自己的痛心",
"转换成爱心",
"抵我对她操心",
"已记不起我也有权利爱人",
"谁人曾照顾过我的感受",
"待我温柔 吻过我伤口",
"能得到的安慰是失恋者得救后很感激忠诚的狗",
"谁人曾介意我也不好受",
"为我出头 碰过我的手",
"重生者走得的都走",
"谁人又为天使忧愁",
"甜言蜜语没有 但却有我这个好友",
"直到她 又再告诉我重新被爱",
"又再看透了我的将来",
"完成任务后大可喝采",
"无谓搭台",
"别怪她 就怪我永远难得被爱",
"然后自虐地赞她可爱",
"往日最彷徨那刻",
"好彩有我在",
"白雪公主不多",
"认命扮矮人的有太多个",
"早有六个",
"多我这个不多",
"我太好心还是太傻",
"未问过她 有没有理我的感受"]

结果3:

服务器: 拜拜
客户端2:

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