使用python下载文件_python使用socket实现上下载文件功能

服务端源偌

"""

1-导入模块

2-创建套接字

3-绑定Ip与端口号

4-被动监听

5-建立链接

6-接收客户端文件信息

7-查找文件打开并发送数据到客户端

8-关闭客户端链接

9-关闭链接

"""

# 1-导入模块

import socket

# 2-创建套接字

tcp_server_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

# 3-绑定Ip与端口号

tcp_server_socket.bind(("",8089))

# 4-被动监听

tcp_server_socket.listen(128)

# 5-建立链接

new_client_socket,new_ip_port =tcp_server_socket.accept()

print("新客户端:" ,new_ip_port)

# 6-接收客户端文件信息

new_text=new_client_socket.recv(2048)

file_name = new_text.decode()

print(file_name)

# 7-查找文件打开并发送数据到客户端

with open(file_name, "rb") as file_txt:

while True:

file_data = file_txt.read(1024)

if file_data:

new_client_socket.send(file_data)

else:

break

# 8-关闭客户端链接

new_client_socket.close()

# 9-关闭链接

tcp_server_socket.close()

源代码客户端

"""

1-导入模块

2-创建套接字

3-建立链接

4-用户输入文件名

5-发送文件名到服务器端

6-创建文件并保存

7-接收服务器端发送过来的数据

8-关闭链接

"""

# 1-导入模块

import socket

# 2-创建套接字

tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 3-建立链接

tcp_client_socket.connect(("192.168.38.128", 8089))

# 4-用户输入文件名

file_name=input("请输入一个文件名 :\n")

# 5-发送文件名到服务器端

tcp_client_socket.send(file_name.encode())

# 6-创建文件并保存

with open ("/home/python/Desktop/"+ file_name,'wb') as filename:

# 7-接收服务器端发送过来的数据

tcp_recv = tcp_client_socket.recv(1024)

while True:

if tcp_recv !=0:

#

filename.write(tcp_recv)

print(tcp_recv)

else:

break

# 8-关闭链接

tcp_client_socket.close()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值