Java教程

网络编程 5.文件下载 - 服务端

本文主要是介绍网络编程 5.文件下载 - 服务端,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

文件下载 - 服务端

文件位置:G:/PyCharmProject/zero/10.python开发环境
下载位置:C:/Users/lenovo/Desktop

步骤:
1.创建socket
2.绑定端口
3.开始监听
4.等待客户端连接
5.接收客户端发送的数据
6.根据文件名读取文件内容
7.发送文件数据给客户端(循环)
8.关闭和客户端的连接
9.关闭服务端

import socket

# 创建socket
tcp_server_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

# 设置socket地址可重用
tcp_server_socket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,True)

# 绑定端口
addr_local = ('',9999)
tcp_server_socket.bind(addr_local)

# 开始监听
tcp_server_socket.listen(128)

# 等待客户端连接
while True:
    client_socket,IP_port = tcp_server_socket.accept()
    print(f' 客户端 {IP_port} 已连接')

    # 接收客户端发送的数据
    recv_data = client_socket.recv(1024)
    file_name = recv_data.decode()
    print(f'要下载的文件为:{file_name}')

    # 根据文件名读取文件内容
    try:
        with open(file_name,'rb') as f :
            while True:
                send_data = f.read(1024)
                if send_data:
                    # 发送文数据给客户端
                    client_socket.send(send_data)
                else:
                    break
    except Exception as e:
        print('下载失败,文件 %s 不存在' % file_name)
    else:
        print('文件发送完成')

    # 关闭和客户端的连接
    client_socket.close()
    print('已断开与客户端的连接\n')

# 关闭服务端
# tcp_server_socket.close()
这篇关于网络编程 5.文件下载 - 服务端的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!