FTP、http 、tcp

HTTP VS FTP

HTTP :HyperText Transfer Protocol 超文本傳輸協議,是基于TCP協議
FTP: File Transfer Protocol 文件傳輸協議, 基于TCP協議, 基于UDP協議的FTP 叫做 TFTP

HTTP 協議 通過一個SOCKET連接傳輸依次會話數據。
FTP 協議中將控制命令、數據分開傳輸的方法,為了提高效率,FTP協議要創建2個SOCKET TCP連接,占用2個TCP,
一個連接用于傳輸控制命令
一個連接用于傳輸數據

FTP服務器的進程由兩大部分組成:
一個主進程,負責接收新的請求。
另外有若干個從屬進程,負責處理單個請求。
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

還有一個工具phpstudy 搭建ftp比較方便,同時這個工具也方便搭建php服務
IIS ftp 搭建
添加鏈接描述

net ftp 上傳、下載

》》上傳

public void UploadFile()
{FtpWebRequest ftpWebRequest = (FtpWebRequest)FtpWebRequest.Create("ftp://xxxx");ftpWebRequest.Method = WebRequestMethods.Ftp.UploadFile;ftpWebRequest.Credentials = new NetworkCredential("用戶名","密碼");using (FileStream fileStream = File.Open("需要上傳文件路徑",FileMode.Open,FileAccess.Read)){using (Stream  requestStream = ftpWebRequest.GetRequestStream()){fileStream.CopyTo(requestStream);using (FtpWebResponse ftpWebResponse = (FtpWebResponse)ftpWebRequest.GetResponse()){Console.WriteLine("處理狀態碼:"+ ftpWebResponse.StatusCode+"狀態信息:"+ftpWebResponse.StatusCode);}}}}

》》》下載文件

 public  void DownLoadFile(){FtpWebRequest ftpWebRequest = (FtpWebRequest)FtpWebRequest.Create("ftp://xxxx/dd文件");ftpWebRequest.Method = WebRequestMethods.Ftp.DownloadFile;ftpWebRequest.Credentials = new NetworkCredential("用戶名", "密碼");//創建要存儲的文件FileStream fileStream = File.Open("文件要存儲的路徑含文件名", FileMode.Open, FileAccess.Write);FtpWebResponse ftpWebResponse = (FtpWebResponse)ftpWebRequest.GetResponse();Stream responseStream = ftpWebResponse.GetResponseStream();byte[] buffer = new byte[1024];int readCount = responseStream.Read(buffer, 0, buffer.Length);while (readCount>0){fileStream.Write(buffer, 0, readCount);readCount= responseStream.Read(buffer, readCount, buffer.Length);}}

》》》獲取文件列表
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/40648.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/40648.shtml
英文地址,請注明出處:http://en.pswp.cn/web/40648.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

FIND_IN_SET使用案例--[sql語句根據多ids篩選出對應數據]

一 FIND_IN_SET select id,system_ids from intellect_client_info where FIND_IN_SET(5, system_ids) > 0;

Spring Boot 中的監視器是什么?有什么作用?

前言: 監聽器相信熟悉 Spring、Spring Boot 的都知道,但是監視器又是什么?估計很多人一臉懵的狀態,本篇分享一下 Spring Boot 的監視器。 Spring Boot 系列文章傳送門 Spring Boot 啟動流程源碼分析(2) …

Apache DolphinScheduler 與 AWS 的 EMR/Redshift 集成實踐分享

引言 這篇文章將給大家講解關于DolphinScheduler與AWS的EMR和Redshift的集成實踐,通過本文希望大家能更深入地了解AWS智能湖倉架構,以及DolphinScheduler在實際應用中的重要性。 AWS智能湖倉架構 首先,我們來看一下AWS經典的智能湖倉架構圖…

【第20章】MyBatis-Plus邏輯刪除支持

文章目錄 前言一、邏輯刪除的工作原理二、支持的數據類型三、使用方法1.配置全局邏輯刪除屬性2.在實體類中使用 TableLogic 注解 四、常見問題解答1. 如何處理插入操作?2. 刪除接口自動填充功能失效怎么辦? 五、實戰1. 全局配置2. 添加TableLogic3. 自動…

高考選專業,興趣與就業前景該如何平衡?

從高考結束的那一刻開始,有些家長和學生就已經變得焦慮了,因為他們不知道成績出來的時候學生應該如何填報志愿,也不知道選擇什么樣的專業,畢竟大學里面的專業豐富多彩,如何選擇確實是一門學問,而對于學生們…

Oracle的RECYCLEBIN回收站:輕松恢復誤刪對象

目錄 Oracle的RECYCLEBIN回收站:輕松恢復誤刪對象一、概念二、工作原理三、使用方法1 查看回收站中的對象2 恢復回收站中的對象2.1 恢復表(TABLE)2.2 恢復索引(INDEX)2.3 恢復視圖(VIEW)2.4 恢復…

樂清網站建設規劃書

樂清是位于浙江省溫州市的一個縣級市,擁有悠久的歷史和豐富的文化底蘊。隨著互聯網的快速發展,網站建設成為推動樂清經濟和文化發展的重要手段。因此,我們認為有必要制定一個全面的樂清網站建設規劃書,以促進樂清的經濟繁榮和文化…

東芝 TB5128FTG 強大性能的步進電機驅動器

TB5128FTG它以高精度和高效能為設計理念,采用 PWM 斬波方法,并內置時鐘解碼器。通過先進的 BiCD 工藝制造,這款驅動器提供高達 50V 和 5.0A 的輸出額定值,成為廣泛應用場景中的強勁解決方案。 主要特性 TB5128FTG 擁有眾多確保高…

SAP PS學習筆記01 - PS概述,創建Project和WBS

本章開始學習PS(Project System)。 1,PS的概述 PS(Project System)是SAP企業資源規劃系統中的一個關鍵模塊,主要用于項目管理。 它提供了一個全面的框架來規劃、控制和執行項目,涵蓋了從項目啟…

【Express】自定義錯誤碼和通用返回對象

自定義錯誤碼: // 自定義錯誤 const {formatResponse} require("./tool");class ServiceError extends Error {/**** param message 自定義錯誤信息* param code 自定義錯誤碼*/constructor(message, code) {super(message);this.code code;}/*** 將錯…

ZeroMQ最全面試題解讀(3萬字長文)

目錄 解釋ZeroMQ是什么,它的主要用途是什么? ZeroMQ支持哪些通信模式? 描述一下ZeroMQ中的“消息”和“消息幀” 如何在C++中初始化一個ZeroMQ上下文? 在ZeroMQ中,如何創建一個套接字并將其綁定到特定端口? 解釋什么是“管道模式”(Pipe Pattern) 說明如何使用Z…

Spring的三種注入方式的優缺點分析

在 Spring 中,提供了三種依賴注入(也被稱之為 "對象注入","屬性裝配"等)的方式,這篇博客我們來分析一下這三種方式各有哪些優缺點。 一、屬性注入 優點 簡潔,使用方便。 缺點 ? 只…

競賽選題 卷積神經網絡手寫字符識別 - 深度學習

文章目錄 0 前言1 簡介2 LeNet-5 模型的介紹2.1 結構解析2.2 C1層2.3 S2層S2層和C3層連接 2.4 F6與C5層 3 寫數字識別算法模型的構建3.1 輸入層設計3.2 激活函數的選取3.3 卷積層設計3.4 降采樣層3.5 輸出層設計 4 網絡模型的總體結構5 部分實現代碼6 在線手寫識別7 最后 0 前言…

C++內存的一些知識點

一、內存分區 在C中,內存主要分為以下幾個區域: 代碼區:存放函數體的二進制代碼。 全局/靜態存儲區:存放全局變量和靜態變量,這些變量在程序的整個運行期間都存在。常量存儲區:存放常量,這些值…

學懂C#編程:實用方法——string字符串指定連接符拼接之 string.Join 的詳細用法

在C#中,string.Join 方法用于將一個字符串數組或集合中的元素連接成一個單一的字符串,并在每個元素之間插入指定的分隔符。這個方法非常有用,特別是在需要將多個字符串合并成一個字符串時。以下是 string.Join 方法的詳細用法: 方…

WPF UI 界面布局 魔術棒 文字筆記識別 技能提升 布局功能擴展與自定義 繼承Panel的對象,測量與排列 系列七

應用開發第一步 功能分類:頁面上的功能區域劃分。。。。需求分析 業務邏輯 數據流 功能模塊 UI/UX 編碼 測試 發布 功能開發與布局 不用顯式的方式設定元素的尺寸 不使用屏幕坐標來指定位置 Grid 功能最強大,布局最靈活的容器…

卷積神經網絡:目標檢測的黃金鑰匙

標題:卷積神經網絡:目標檢測的黃金鑰匙 卷積神經網絡(CNN)是深度學習中用于處理具有網格結構數據(如圖像)的強大工具。在目標檢測任務中,CNN不僅提升了檢測的準確性,還極大地推動了…

開發個人Go-ChatGPT--5 模型管理 (一)

開發個人Go-ChatGP–5 模型管理 (一) 背景 開發一個chatGPT的網站,后端服務如何實現與大模型的對話?是整個項目中開發困難較大的點。 如何實現上圖的聊天對話功能?在開發后端的時候,如何實現stream的響應呢?本文就…

Vue-Router4.0 報“Cannot read property ‘forEach‘ of undefined”

Vue-Router4.0在創建路由時 報“Cannot read property ‘forEach‘ of undefined” 解決辦法 將路由規則名稱更改為routes,否則報錯 import { createWebHashHistory, createRouter } from vue-router; // 創建路由規定 const routes [{path: /login,name: login,co…

Linux Docker 防火墻設置 放通 MySQL(3306) Redis(6379) 端口

Linux Docker 防火墻設置 放通 MySQL(3306) Redis(6379) 端口,使用firewalld 防火墻或iptables ,因此嘗試重新啟動 firewalld 服務,添加防火墻規則,并檢查防火墻狀態。以下是詳細步驟: 1. 啟動 firewalld 服務 首先啟…