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 上传、下载

》》上传

csharp 复制代码
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);
                    }
                }
            }
            }

》》》下载文件

csharp 复制代码
 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);
            }
                
            
        }

》》》获取文件列表

相关推荐
博客zhu虎康4 小时前
实现局域网P2P通信:内网发送消息
网络·网络协议·p2p
|_⊙9 小时前
网络层协议 IP
服务器·网络·tcp/ip
沫璃染墨11 小时前
从零入门计算机网络系列(十五):TCP可靠传输机制详解——从序号与确认应答到乱序处理
服务器·网络·c++·tcp/ip·tcp
流浪00113 小时前
计算机网络篇20:网络层——IP 协议的定位与 IPv4 报头字段,从 20 字节首部到 TTL 防环
tcp/ip·计算机网络·ttl·网络层协议·ip报头
zhengfei61113 小时前
CVE-2026-98432:Linux 内核 TCP 释放后重用漏洞,CVSS 9.8 但补丁覆盖极不均衡
linux·运维·tcp/ip
xixingzhe21 天前
AI 对话打字机效果:SSE 和 HTTP 的区别与适用场景
网络·网络协议·http
叼烟扛炮1 天前
Linux 学习笔记(五十一):数据链路层与 ARP 协议——局域网寻址与黑客骗局
linux·网络·网络协议·php·tcpdump
沫璃染墨1 天前
从零入门计算机网络系列(十四):TCP报文与字节流本质——从数据封装到报文边界
linux·服务器·网络·网络协议·tcp/ip·tcp
byte轻骑兵2 天前
【LMP】规范精讲[13]: 参数的户口本、公钥的集装箱与出厂的兜底值
人工智能·网络协议·人机交互·lmp·蓝牙链路管理
流浪0012 天前
计算机网络篇17:传输层——TCP 超时重传、三次握手与四次挥手,TIME_WAIT 为什么要等 2MSL
网络协议·tcp/ip·计算机网络·三次握手·四次挥手·超时重传