4-1 文件上传程序的编写

该博客介绍了如何使用Python的socket模块实现简单的文件上传和下载程序。文件接收方通过监听指定端口,等待客户端连接并接收文件数据,接收到'quit'信号时停止接收。文件发送方则打开本地文件并分段发送至服务器,收到确认接收完成的信号后发送结束信号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

4-1 文件上传程序的编写

 

文件接收.py

 

import socket

# 实例化
sk = socket.socket()
# 定义ip 和端口
ip_port = ("127.0.0.1", 6666)
# 绑定ip和port
sk.bind(ip_port)
# 最大连接数
sk.listen(3)
# 进入循环接收数据
while True:
    # 等待客户端连接
    conn, address = sk.accept()
    while True:
        # 打开文件等待数据写入
        with open("file", "ab") as f:
            # 接收数据
            data = conn.recv(1024)
            if data == b'quit':
                break
            # 写入文件
            f.write(data)
        # 接收完成标志
        conn.send("success......".encode())
    # 打印提示信息
    print("文件接收完成!")
# 关闭连接
sk.close()

 

文件发送.py

import socket

# 实例化
sk = socket.socket()
# 定义ip 和端口
ip_port = ("127.0.0.1", 6666)
# 服务器连接
sk.connect(ip_port)
# 文件上传
# 打开文件
with open('socket_client.py', 'rb') as f:
    # 按每一段分割文件
    for i in f:
        # 数据上传
        sk.send(i)
        # 等待接收完成标志
        data = sk.recv(1024)
        # 判断服务器是否真正的接收完成
        if data != b'success......':
            break
# 给服务端发送结束信号
sk.send('quit'.encode())

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值