TCP/IP传输文件与FTP传输文件有什么区别?

loongchao 发布于 2012/05/29 16:53
阅读 6K+
收藏 1

在代码中实现FTP传输文件,是以二进制的形式进行传输的吧。

举例一个10MB的文件,进行FTP传输,

FTP他内部是不是将这个10MB划分为若干个小的消息包传输的?

那么TCP/IP传输呢,(以前写的通讯都是请求、响应一个消息包),

举例一个10MB的文件呢? TCP/IP传输会怎么样呢?

求解!!!

加载中
1
six
six
FTP是应用层协议,TCP是传输层协议,IP是网络层协议,你应该了解一下三者的关系
loongchao
loongchao
恩恩,谢谢你
0
xoHome
xoHome
FTP是基于TCP/IP协议的文件传输协议,如果你用TCP/IP来实现文件传输的话,会有各种各样的问题,等你解决了这些问题,实际上你做的就是FTP了
xoHome
xoHome
用TCP的话内部看你自己怎么实现了,要实现的好最后肯定和FTP差不了太远,毕竟都是解决同类问题。另外FTP里边如果用多线程下文件是会将文件分段下载。
loongchao
loongchao
哦, 你的意思是用TCP/IP实现文件传输就是做的FTP的机制吗? "FTP他内部是不是将这个10MB划分为若干个小的消息包传输的?" 是这样吗?
0
leo108
leo108
定义一个buffer,每次将文件的内容读入buffer,再将buffer的内容发送出去。
0
loongchao
loongchao

哦, 你的意思是用TCP/IP实现文件传输就是做的FTP的机制吗?

"FTP他内部是不是将这个10MB划分为若干个小的消息包传输的?"

是这样吗?

0
liuex
liuex

引用来自“曹小龙”的答案

哦, 你的意思是用TCP/IP实现文件传输就是做的FTP的机制吗?

"FTP他内部是不是将这个10MB划分为若干个小的消息包传输的?"

是这样吗?

建议楼主查一下OSI 7层模型,或者Internet四层模型,了解一下TCP/IP和FTP的定位问题。

从四层模型的角度看,TCP协议属于传输层,只是为开发者保证一个点对点的传输数据的通道,让你传输任何你想传输的数据,以及如何简化的建立和断开这个通道。传输层不针对任何应用,或者时髦点说提供了“传输数据服务”。

FTP协议属于应用层,建立在传输层之上,使用传输层提供的传输数据服务,来完成“交换文件”这样的业务功能。FTP是绑定到一个具体应用上的。

FTP协议中根本不涉及到数据文件拆分、合并、若干个小的消息包的问题,这些是TCP(至少Java中封装后的Socket是这样的)的任务。所以FTP很牛逼的命令TCP“把这10M的数据传到XX主机”,怎么封包、解包那是TCP的事情。

0
Grrrr
Grrrr

花1个小时好好看一下7层模型.  你就知道怎么做了.

FTP是应用层的. 传文件, 肯定是用传输层的协议. 要么TCP.要么UDP.

loongchao
loongchao
Thank You
0
黑色星期一

FTP是应用层协议,TCP是传输层协议 ,主要取决于你的需求。IIS7服务器管理工具里面的FTP功能可以说是很全、很实用的。它可以批量管理、定时上传下载、同步操作、数据备份、到期提醒、自动更新适用Windows操作系统和liunx操作系统支持Vnc客户端和Ftp客户端批量操作。

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部