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)

你可能感兴趣的:(Python-day-17作业)