c++ - Web 服务器缓冲区

标签 c++ c buffer

我正在研究 C/C++ 中的网络,所以套接字。 例如,我现在使用的是 firefox,我可以加载 10KB 页面和 30MB 页面。所以我假设我从 Web 服务器获得的所有数据都写入了某个缓冲区。但是该缓冲区的大小是固定的还是基于内容大小?

最佳答案

数据实际上是从一个缓冲区流到另一个缓冲区,最后在内存中结束。服务器通过磁盘缓冲区从磁盘读取并写入 TCP 网络缓冲区,其内核将其清空到网络接口(interface)缓冲区中。当数据跨越各种网络链接时,数据通过网络从一个缓冲区传输到另一个缓冲区。最终,它会在您的操作系统的 TCP 连接缓冲区中结束,您的浏览器会不断将其清空到主内存中的缓冲区中。这些缓冲区的大小各不相同,有些是固定的,有些是可变的。

关于c++ - Web 服务器缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12588196/

相关文章:

c++ - 在 C++ 中修改后修复文件权限?

c - 查找vxworks目标板内存泄漏

c++ - 如何使用按位运算符提取整数中的数字

c - 编译时对所有 'sem' 和 'pthread' 函数的 undefined reference

c++ - 使用 Pleora SDK 保存缓冲区会得到蓝色、双倍的 BMP,下方有灰色条

c# - 无符号整数 (c++) 与 uint (c#)

c++ - 从托管代码调用 native 函数

c++ - 从标准输入捕获字符,无需等待按下 Enter 键

c - 缓冲字符串损坏

java - Android 如何确定将哪个缓冲区用于 logcat 消息?