流对象

本文深入探讨了计算机编程中流的概念及其在数据传输中的应用,详细解释了面向块与面向流的区别,以及TCP协议作为面向字节流传输的特性。同时,阐述了流接口在TCP端口中的作用,揭示了数据交换与传输的机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在计算机编程中,流就是一个类的对象,很多文件的输入输出操作都以类的成员函数的方式来提供。
计算机中的流其实是一种信息的转换。它是一种有序流,因此相对于某一对象,通常我们把对象接收外界的信息输入(Input)称为输入流,相应地从对象向外输出(Output)信息为输出流,合称为输入/输出流(I/O Streams)。对象间进行信息或者数据的交换时总是先将对象或数据转换为某种形式的流,再通过流的传输,到达目的对象后再将流转换为对象数据。所以,可以把流看作是一种数据的载体,通过它可以实现数据交换和传输。

面向块:将信息保存在块中,传输时一次传一块,例如磁盘、usb智能卡等。
面向流:将信息以字节流的方式输入输出数据,没有块结构,例如终端,打印机等。


tcp是面向字节流的,也就是传输的时候是一个字节一个字节传输,到接收端以字节形式对二进制数据重组。

流接口:TCP端口是建立在字节流基础上的。流是一个无报文丢失、重复和失序的正确的数据序列。流相当于一个管道,从一端放入什么,从另一端可以照原样取出什么。


========================================================================================================
OSI TCP/IP 对可靠性的强调也不相同。对 OSI 的面向连接服务,数据链路层、网络层和运输层都要检测和处理错误,尤其在数据链路层采用校验、确认和超时重传等措施提供可靠性,而且网络和运输层 也有类似技术。而 TCP/IP 则不然, TCP/IP 认为可靠性是端到端的问题,应由运输层来解决,因此它允许单个的链路或机器丢失数据或数据出错,网络本 身不进行错误恢复,丢失或出错数据的恢复在源主机和目的主机之间进行,由运输层完成。由于可靠性由主机完成,增加了主机的负担。但是,当应用程序对可靠性 要求不高时,甚至连主机也不必进行可靠性处理,在这种情况下, TCP/IP 网的效率最高。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值