TCP为什么叫做流协议

原创 2012年03月21日 17:33:40

    最近在写一个TCP网络模块,学到了不少东西。

    客户端发送字节流时,TCP会保证服务端按顺序接收到全部的字节流,其他诸如数据包的大小等,TCP协议对我们来说是透明的,我们可以全部不考虑。

    通俗点说,我们发送数据只需要调用send函数,我们只需要关注send函数的返回值,从而知道了发送了多少个字节,在服务端,我们调用recv函数,我们只需要关注recv函数的返回值,从而知道接收了多少个字节,其他情况通通不管。

   在TCP通信过程中,我们不需要关心(也没法关心,但可以设置)数据包的大小,个数,我们只需要在客户端建立一个缓冲区不断发送,在服务端建立一个缓冲区不断接收就够了,当然,我们还可以定义一个包头,来实现诸如发送文件这样更强大的功能。

这就是TCP通信的本质,不会应平台的不同而改变。


TCP/IP详解学习笔记(11)-TCP交互数据流,成块数据流

目前建立在TCP协议上的网络协议特别多,有telnet,ssh,有ftp,有http等等。这些协议又可以根据数据吞吐量来大致分成两大类:(1)交互数据类型,例如telnet,ssh,这种类型的协议在大...
  • goodboy1881
  • goodboy1881
  • 2006年05月19日 14:30
  • 27340

TCP协议与流通信

TCP协议与流通信   前言   刚说完了UDP协议,接下来咱们趁热打铁,顺道搞一下TCP协议,搞完了今天就不搞网络的东西了,搞点别的,       引入 ...
  • shanyongxu
  • shanyongxu
  • 2015年08月31日 16:07
  • 1054

基于TCP流协议的数据包通讯

TCP通讯是流协议,它不像UDP那样基于包为边界的通讯方式, TCP流式协议,举个简单例子,一端用send 分别发送 100,123,120字节的数据, 另一端用recv可以一下子接收到 100+12...
  • fanxiushu
  • fanxiushu
  • 2016年02月03日 23:43
  • 3742

再谈tcp流式传输和udp数据报传输------大家顺便来做做这两个题目!

我的书算是白读了, 这个问题居然是我在工作后才明白的。 我不能怪老师没有讲清楚, 我只能认为自己没有好好学习。 计算机网络这门课, 真是个枯燥无比的东西, 至少我是这么觉得的。 当...
  • stpeace
  • stpeace
  • 2017年06月25日 10:49
  • 1095

TCP是流传输协议,UDP是包传输协议

你可能需要理解这句话:TCP是流传输协议,UDP是包传输协议。 1:什么是流传输协议? 打个比方,发送方一次或分多次send了“1234,567,890,abc....”这些数据,接收方每次rec...
  • e_wsq
  • e_wsq
  • 2013年10月20日 00:19
  • 1614

RTSP流媒体数据传输的两种方式(TCP和UDP)

通常情况下rtsp协议中数据传输的实现是UDP,因工作需要,想让rtsp的数据传输部分用TCP实现。DarwinStreamingServer服务器能自适应客户端发起的数据传输请求是用TCP方式,还是...
  • xiaojun111111
  • xiaojun111111
  • 2014年12月04日 13:50
  • 4427

浅析TCP字节流与UDP数据报的区别

“TCP是一种流模式的协议,UDP是一种数据报模式的协议”,这句话相信大家对这句话已经耳熟能详~但是,“流模式”与“数据包模式”在编程的时候有什么区别呢?以下是我的理解,仅供参考! 1、TCP ...
  • donghustone
  • donghustone
  • 2015年11月05日 07:13
  • 1615

网络编程释疑之:TCP协议的“流”特性

与网络开发相关的招聘时最常被问起的问题是TCP和UDP的区别,现在几乎是道上混的都能答出来几点“比如TCP是面向连接的,UDP是无连接的;TCP是可靠的,UDP是不可靠的;”,其中还有一点是“TCP是...
  • liujiayu2
  • liujiayu2
  • 2015年06月10日 17:45
  • 359

linux网络编程之socket(五):tcp流协议产生的粘包问题和解决方案

我们在前面曾经说过,发送端可以是一K一K地发送数据,而接收端的应用程序可以两K两K地提走数据,当然也有可能一次提走3K或6K数据,或者一次只提走几个字节的数据,也就是说,应用程序所看到的数据是一个整体...
  • chenxun2009
  • chenxun2009
  • 2016年01月10日 16:11
  • 714

基于TCP流协议的数据包通讯

TCP通讯是流协议,它不像UDP那样基于包为边界的通讯方式, TCP流式协议,举个简单例子,一端用send 分别发送 100,123,120字节的数据, 另一端用recv可以一下子接收到 100+12...
  • fanxiushu
  • fanxiushu
  • 2016年02月03日 23:43
  • 3742
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:TCP为什么叫做流协议
举报原因:
原因补充:

(最多只允许输入30个字)