day18-作业

  1. 客户端和服务器聊天,可以一直聊天,直到一方发送’拜拜’。然后就可以和下一个人一直聊
# 服务器
import socket
server = socket.socket()
server.bind(('10.7.187.68', 8000))
server.listen(100)
print('开始监听')
while True:
    conversation, addr = server.accept()
    while True:
        print('接收到请求:', addr)
        re_data = conversation.recv(1024)
        str1 = re_data.decode('utf-8')
        print('客户端:', str1)
        if str1 != '拜拜':
            message = input('请输入发送消息:')
            conversation.send(bytes(message.encode(encoding='utf-8')))
            if message == '拜拜':
                break
        else:
            break
    conversation.close()


# 客户端
import socket
client = socket.socket()
client.connect(('10.7.187.68', 8000))
while True:
    message = input('请输入需要发送的消息:')
    client.send(message.encode(encoding='utf-8'))
    if message != '拜拜':
        re_data = client.recv(1024)
        print('服务器:', re_data.decode('utf-8'))
        if re_data.decode('utf-8') == '拜拜':
            break
    else:
        break
client.close()

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

# 服务器
import socket
server = socket.socket()
server.bind(('10.7.187.68', 8000))
server.listen(100)
print('开始监听')
while True:
    conversation, addr = server.accept()
    while True:
        print('接收到请求:', addr)
        re_data = conversation.recv(1024)
        str1 = re_data.decode('utf-8')
        print('客户端:', str1)
        if str1 != '拜拜':
            if str1 == '1':
                with open('王也.jpg', 'rb') as f:
                    content = f.read()
                conversation.send(content)
            elif str1 == '2':
                import json
                with open('json1.json', encoding='utf-8') as f1:
                    content1 = json.load(f1)
                conversation.send(bytes(content1.encode(encoding='utf-8')))
            elif str1 == '3':
                message = '拜拜'
                conversation.send(bytes(message.encode(encoding='utf-8')))
                break
            else:
                message = input('请输入:')
                conversation.send(message.encode(encoding='utf-8'))
                if message == '拜拜':
                    break
        else:
            break
    conversation.close()

# 客户端
import socket
client = socket.socket()
client.connect(('10.7.187.68', 8000))
while True:
    message = input('请输入需要发送的消息:')
    client.send(message.encode(encoding='utf-8'))
    if message != '拜拜':
        re_data = client.recv(102400000)
        if message == '1':
            with open('接收图片.jpg', 'wb') as f:
                f.write(re_data)
        elif message == '2':
            import json
            str1 = re_data.decode('utf-8')
            js1 = json.dumps(str1, ensure_ascii=False)
            with open('接收信息.json', 'w', encoding='utf-8') as f1:
                f1.write(js1)
        elif re_data.decode('utf-8') == '拜拜':
            print('服务器:', re_data.decode('utf-8'))
            break
        else:
            str1 = re_data.decode('utf-8')
            print('服务器:', str1)
    else:
        break
client.close()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 作业: 客户端和服务器聊天,可以一直聊天,直到一方发送’拜拜’。然后就可以和下一个人一直聊 2.客户端给服务器发送...
    2ez4ddf阅读 196评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,933评论 18 139
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AGI阅读 16,009评论 3 119
  • 不要把生活安排得太满,因为生活给你的超乎你想象 最近每天基本被安排得满满的,写作,健身,读书,发声练习等,拒绝了很...
    霍杨阅读 1,031评论 0 1
  • 最近越来越强烈地感觉到自己骨子里的东西是有家族遗传和积淀的,张家是我们村里大家基本都知晓的家庭,不是因为有多牛,而...
    啦啦啦啦啦啦10001阅读 150评论 0 0