作者回复: 都是强人😄
作者回复: 👍
作者回复: 正在进行中
作者回复: 表示缓冲区就那么大,装不下你要的那么大的字节流,就返回了目前能装下的部分,剩下的部分应用程序要自己接着往里装。
作者回复: 答疑篇会稍微点拨一下C语言
作者回复: 阻塞那部分确实是这样的,当然,可以为read设置超时。
作者回复: 因为数据像流水一样,不会结束,所以叫做stream流。
作者回复: 应该是网卡或者网络原因。
作者回复: 在答疑篇中有一个我认为的答案,其实这是一个开放性问题,不用纠结这个数据,主要是明白拷贝发生的场景,为什么为发生拷贝。
作者回复: 我理解不是这样的,咱们调用write就是一个系统调用,就会有用户态-内核态的上下文切换,你说的这个问题,确实是实战中应该尽量避免的,我在后面的提高篇中会针对你说的这个情况讲到一些技巧。
作者回复: 已经修复
作者回复: 出错了.... 代码贴出来看看
作者回复: 相当于让仓库变大,可以存储了更多的货物,如果出货的速度有限,会有更多的货物烂在仓库里。
作者回复: 那你为啥要传这第1025个字节呢?如果是消息的边界,例如换行,还是要读到这个字符的,读完以后不拷贝到应用程序的缓冲区就可以认为是丢弃了。
作者回复: 确定连接成功了么?不凡自己多打印一些输出信息,比如连接成功就打印一下。