我正在研究C / C++中的网络,因此正在研究套接字。
例如,我现在正在使用firefox,可以同时加载10KB页面和30MB页面。因此,我假设我从Web服务器获取的所有数据都写入了某个缓冲区中。但是该缓冲区是固定大小还是基于Content-size?
最佳答案
数据实际上从一个缓冲区流到另一个缓冲区,并最终在内存中结束。服务器通过磁盘缓冲区从磁盘读取并写入TCP网络缓冲区,其内核将其清空为网络接口(interface)缓冲区。当数据穿过各种网络链接时,数据会在网络上从一个缓冲区传输到另一个缓冲区。最终,它在操作系统的TCP连接缓冲区中结束,您的浏览器不断将其清空到主内存中的缓冲区中。这些缓冲区大小各不相同,有的是固定的,有的是可变的。
关于c++ - Web服务器缓冲区,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12588196/