Day18 作业

服务器:

"""______lxh______"""

from socket import *
import os

server = socket()       # 创建套接字对象
server.bind(('10.7.181.115', 6628))     # 绑定ip和端口
server.listen(628)

while True:   # 让程序一直运行
    connect, address = server.accept()      # 接收请求建立连接
    print(connect, address)     # 服务端打印请求信息
    # 循环操作
    while True:
        re_ask = str(connect.recv(1024), encoding='utf-8')  # 获取请求
        if re_ask == 'a':
            with open('text/txt1.txt', 'rb') as f:
                content = f.read()
                connect.send(content)   # 发送文本信息
        elif re_ask == 'b':
            dirs = os.listdir('files')  # 获取文件目录列表
            str_dirs = str(dirs) + '\n请输入你想要的图片的名字:'
            connect.send(str_dirs.encode())     # 发送文件目录以及提示输入

            re_name = str(connect.recv(1024), encoding='utf-8')  # 接收客户端输入信息
            path = 'files/' + re_name       # 合成路径
            if os.path.exists(path):        # 对存在的文件进行操作
                connect.send('图片存在!'.encode())
                with open(path, 'rb') as f:
                    connect.send(f.read())
            else:
                connect.send('图片不存在!'.encode())

客户端:

"""______lxh______"""

from socket import *

client = socket()       # 创建套接字对象

client.connect(('10.7.181.115', 6628))  # 连接ip和端口
while True:
    print('a.请求文字信息\nb.请求图片信息')

    ask = input('输入:')
    client.send(ask.encode())       # 返回选项请求
    if ask == 'a':
        print(client.recv(1024).decode())   # 打印文本信息
    elif ask == 'b':
        print(client.recv(1024).decode())
        im_name = input('输入图片名字:')
        client.send(im_name.encode())

        re_ask = client.recv(1024).decode()     # 接收文件是否存在
        print(re_ask)
        if re_ask != '图片不存在!':
            while True:
                re_img = client.recv(1024)
                with open('im_client/' + im_name, 'ab') as f:
                    f.write(re_img)
                if len(re_img) < 1024:
                    print('接收成功!')
                    break

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

推荐阅读更多精彩内容

  • 客户端和服务器聊天,可以一直聊天,直到一方发送’拜拜’。然后就可以和下一个人一直聊 客户端: 你好服务器:拜拜客户...
    Gary134阅读 337评论 0 0
  • 作业: 客户端和服务器聊天,可以一直聊天,直到一方发送’拜拜’。然后就可以和下一个人一直聊服务器: 客户端: 2....
    2333_11f6阅读 236评论 0 0
  • 作业: 1. 客户端和服务器聊天,可以一直聊天,直到一方发送’拜拜’。然后就可以和下一个人一直聊 服务器 客户端 ...
    诗妮SONY阅读 263评论 0 0
  • 作业: 客户端和服务器聊天,可以一直聊天,直到一方发送’拜拜’。然后就可以和下一个人一直聊 2.客户端给服务器发送...
    2ez4ddf阅读 198评论 0 0
  • 作业: 客户端和服务器聊天,可以一直聊天,直到一方发送’拜拜’。然后就可以和下一个人一直聊 2.客户端给服务器发送...
    L_4bc8阅读 145评论 0 0