2018-10-24 day19-作业

服务器:

import  socket
#创建服务器套接字
server=socket.socket()
#绑定IP地址和端口
server.bind(('10.7.156.68',8080))
#监听请求
server.listen(512)
#让服务器保持一直在线状态
while True:
    #不断接收客户端的请求
    conversation,addr=server.accept()
    print('已连接')
    while True:
    #接收数据
        data=conversation.recv(1024)
        message=data.decode('utf-8')
        if message=='1':
            with open('./files/image.jpg','rb')as f:
                content=f.read()
            print('发送文件成功')
            conversation.send(content)
            conversation.close()
        elif message=='2':
            conversation.send('这是您要的文字'.encode('utf-8'))
            print('发送文字成功')
            conversation.close()   

客户端:

import socket
#创建客户端套接字
client=socket.socket()

while True:
    #连接服务器
    client.connect(('10.7.156.68',8080))
    #显示界面
    with open('./files/image.txt','r',encoding='utf-8')as f :
        print(f.read())
    #发送数据
    choose=input('请输入选择项1-3:')
    choose_data = choose.encode('utf-8')
    if choose=='1':
        client.send(choose_data)
        image = client.recv(1024)
        data = bytes()  # 创建一个空的二进制数据
        while image:
            # print(message_re)
            data += image  # 将每次获取到的数据叠加
            # print('接收到数据')
            image = client.recv(1024)
        with open('./files/image2.jpg', 'rw')as f:
            f.write(image)
        print('图片保存成功')

    elif choose=='2':
        client.send(choose_data)
        text = client.recv(1024)
        text1=text.decode('utf-8')
        with open('./files/text.txt', 'w',encoding='utf-8')as f:
            f.write(text1)
        print('文字保存成功')
    else:
        client.send(choose_data)
        break

你可能感兴趣的:(2018-10-24 day19-作业)