ReceivePacket,SendPacket的流

来源:9-4 文件消息模型基础实现-2

慕斯卡8299126

2021-07-25

为啥ReceivePacket继承的是输出流
图片描述
而SendPacket继承的是输入流
图片描述
一般接收不都是输入流,发送是输出流嘛

写回答

1回答

Qiujuer

2021-07-27

这个就要看你立足的角色了。

这里之所以这样定义,是对于业务来说的。


对于一个业务来说,接收到一个数据包,这个数据包要输出给业务端,所以其是一个输出流,因为要将接收到的数据输出到业务端去。

业务端可以选择将流转换为字符串、复杂的包、或者直接存储为文件,这都是可以的。


而发送一个包,也是类似,想要发送一个数据包就得有数据来源,那么这个来源就是输入流,我们通过调用输入流的api得到我们需要发送的数据,然后将数据发送出去。

0
2
Qiujuer
回复
慕斯卡8299126
同步 是指在读取数据或写数据的过程其实是阻塞的,需要消耗CPU时间的;这里的时间可能并不是计算耗时,大部分时间是在网络的IO上同步阻塞了。 非阻塞 是指,其状态的等待过程是异步的,我们注册需要写或读取数据的监听,此时CPU可以敢其他事儿,当事件就绪后再做后续的处理。当事件未就绪时无需阻塞。
2021-07-29
共2条回复

Socket网络编程进阶与实战 系统掌握Socket核心技术

理论+实践,系统且深入掌握Socket核心技术,从容应对各种Socket应用场景的不二之选

2314 学习 · 476 问题

查看课程