先来一个例子
用UDP传输100个字节的数据:
面向数据报
如果发送端调用一次sendto, 发送100个字节, 那么接收端也必须调用对应的一次recvfrom, 接收100个字节;
而不能循环调用10次recvfrom, 每次接收10个字节;
面向字节流
由于缓冲区的存在, TCP程序的读和写不需要一一匹配, 例如:
写100个字节数据时, 可以调用一次write写100个字节, 也可以调用100次write, 每次写⼀一个字节;
读100个字节数据时, 也完全不需要考虑写的时候是怎么写的, 既可以一次read 100个字节, 也可以一次read一个字节, 重复100次;
博客主要介绍了面向数据报和面向字节流的特点。以UDP和TCP为例,UDP面向数据报,应用层交多长报文就原样发送,接收时需对应接收;TCP面向字节流,有缓冲机制,可对数据块拆分或积累后发送,读写无需一一匹配。
1413

被折叠的 条评论
为什么被折叠?



