麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Python > 正文

python基于TCP實現的文件下載器功能案例

2024-09-09 19:03:10
字體:
來源:轉載
供稿:網友

本文實例講述了python基于TCP實現的文件下載器功能。分享給大家供大家參考,具體如下:

服務器 參考代碼如下:

from socket import *import sysdef get_file_content(file_name):  """獲取文件的內容"""  try:    with open(file_name, "rb") as f:      content = f.read()    return content  except:    print("沒有下載的文件:%s" % file_name)def main():  if len(sys.argv) != 2:    print("請按照如下方式運行:python3 xxx.py 7890")    return  else:    # 運行方式為python3 xxx.py 7890    port = int(sys.argv[1])  # 創建socket  tcp_server_socket = socket(AF_INET, SOCK_STREAM)  # 本地信息  address = ('', port)  # 綁定本地信息  tcp_server_socket.bind(address)  # 將主動套接字變為被動套接字  tcp_server_socket.listen(128)  while True:    # 等待客戶端的鏈接,即為這個客戶端發送文件    client_socket, clientAddr = tcp_server_socket.accept()    # 接收對方發送過來的數據    recv_data = client_socket.recv(1024) # 接收1024個字節    file_name = recv_data.decode("utf-8")    print("對方請求下載的文件名為:%s" % file_name)    file_content = get_file_content(file_name)    # 發送文件的數據給客戶端    # 因為獲取打開文件時是以rb方式打開,所以file_content中的數據已經是二進制的格式,因此不需要encode編碼    if file_content:      client_socket.send(file_content)    # 關閉這個套接字    client_socket.close()  # 關閉監聽套接字  tcp_server_socket.close()if __name__ == "__main__":  main()

客戶端 參考代碼如下:

from socket import *def main():  # 創建socket  tcp_client_socket = socket(AF_INET, SOCK_STREAM)  # 目的信息  server_ip = input("請輸入服務器ip:")  server_port = int(input("請輸入服務器port:"))  # 鏈接服務器  tcp_client_socket.connect((server_ip, server_port))  # 輸入需要下載的文件名  file_name = input("請輸入要下載的文件名:")  # 發送文件下載請求  tcp_client_socket.send(file_name.encode("utf-8"))  # 接收對方發送過來的數據,最大接收1024個字節(1K)  recv_data = tcp_client_socket.recv(1024)  # print('接收到的數據為:', recv_data.decode('utf-8'))  # 如果接收到數據再創建文件,否則不創建  if recv_data:    with open("[接收]"+file_name, "wb") as f:      f.write(recv_data)  # 關閉套接字  tcp_client_socket.close()if __name__ == "__main__":  main()

更多關于Python相關內容可查看本站專題:《Python Socket編程技巧總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》

希望本文所述對大家Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品久久av | 国产91精品久久久 | 欧美成人高清视频 | 福利在线免费 | 国产精品久久久久久久不卡 | 精品国产中文字幕 | 圆产精品久久久久久久久久久 | 99亚洲伊人久久精品影院红桃 | 久久精品视频国产 | 男男羞羞视频网站国产 | 一区二区三区视频在线播放 | 亚洲 综合 欧美 动漫 丝袜图 | 麻豆一二区 | 欧美精品一区二区三区在线 | 一区二区三区在线播放视频 | 国产1区2区3区中文字幕 | 国产做爰全免费的视频黑人 | 国产精品免费久久久久 | 国产精品自拍av | 茄子福利视频 | 国产精品久久久久久久久久三级 | 一本色道久久久888 香蕉视频99 | 亚洲第一综合 | 亚洲免费观看视频 | 羞羞网站视频 | 亚洲午夜不卡 | 亚洲精品无码不卡在线播放he | 国产成人精品无人区一区 | 精品亚洲va在线va天堂资源站 | 久久男 | 天天看成人免费毛片视频 | 国内精品久久久久久久久久久久 | 欧美成人精品欧美一级乱黄 | 午夜影视一区二区 | 久久国产精品久久久久久久久久 | 国产精品一品二区三区四区18 | 成人午夜精品久久久久久久蜜臀 | 欧美成人精品一级 | 欧美成人一区二区三区电影 | 国产流白浆高潮在线观看 | 双性精h调教灌尿打屁股的文案 |