从概念上讲,我认为TCP连接具有两个方面。
TCP的连接方面在网络文档中有很好的介绍,主机通过三向握手等方式协商连接,但是此时您只有一个空闲连接-再次类似于有人在另一端拿起电话并“死气”
我的问题是,建立此连接后,如何启动数据(例如文件传输)?我可以想象它看起来像发件人,概述了它要发送的内容,即“我要发送给您....,当您拥有X字节的文件时,或者您收到来自的预告片时,您将知道传输已完成我”。TCP数据/文件传输如何开始?
TCP是一种面向流的传输协议。它只关心从一个主机到另一个主机以正确的顺序获取字节,而不关心那些字节的内容或它们可能形成的任何消息。建立连接后,连接的任一端都可以向另一端发送字节。
要使消息有意义,您需要在TCP之上的协议上达成共识。这个协议决定了应该发送什么消息,以及如何解释接收到的消息。这包括确定消息何时完成。例如,在HTTP中,如果存在“ Content-Length”标头,则接收方可以使用它来确定是否已接收到所有数据;否则,接收方可以使用该标头来确定是否已接收到所有数据。如果不是,则使用其他方法(有关详细信息,请参阅RFC),直到仅等待服务器关闭连接(以某种方式使用TCP确定消息长度,尽管以相当昂贵的方式)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句