Python-day-17作业

1、 写一个两个人的聊天系统,可以实现双向聊天功能。

  • 写一个两个人的聊天系统,可以实现双向聊天功能。
  • 如果发送的是普通的文字就直接打印,如果发送的文字是’拜拜’就关闭连接,
  • 如果是一个网络地址就获取数据(保存到文本文件中),如果是图片地址就下载图片到本地
  • 服务器:
import socket
if __name__ == '__main__':
    server = socket.socket()
    server.bind(('10.7.181.58',8778))
    server.listen(50)
    print('开始监听')
    while True:
        conversation,address = server.accept()
        print(address)
        while True:
            massage = input('>>')
            conversation.send(massage.encode())
            data = conversation.recv(1024)
            data_cn = data.decode(encoding='utf-8')
            print(data_cn)
            if data_cn == '拜拜':
                conversation.close()
            elif data_cn == '发链接':
                # 发送一张图片
                with open('./唐小鸭.png', 'rb') as f:
                    data = f.read()
                conversation.send(data)


  • 客户端
""" by_sawyer """
import socket
if __name__ == '__main__':
    client = socket.socket()
    client.connect(('10.7.181.58',8778))


    while True:
        massage = client.recv(1024)
        data = massage.decode(encoding='utf-8')
        print(data)
        if data == '拜拜':
            client.close()
        data2 = input('>>')
        client.send(data2.encode())
        if data2 == '发图片':
            image_data = bytes()  # 创建一个空的bytes用来保存整个图片数据
            while data:
                image_data += data
                data = client.recv(1024)
            # 保存图片到本地
            with open('./新小鸭.png', 'wb') as f:
                f.write(image_data)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,025评论 3 119
  • 实话总是狠戳人心,更是打了几巴掌一样,火辣辣的疼。
    思停阅读 96评论 0 0
  • 喜欢一个人的时候,特别害怕他不喜欢我,仿佛我失去了全世界,像一粒浮萍,不知道未来,找不到方向,内心一片茫然和荒凉。...
    清清是颗小太阳阅读 152评论 0 0