使用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()
總結
以上是生活随笔為你收集整理的使用python下载文件_python使用socket实现上下载文件功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: maya导入abc动画_三维文件格式知多
- 下一篇: python3.6安装包多大_win10