在C中使用libev创建小型Web服务器时,在不阻塞reactor的情况下提供文件(打开、准备好、写入套接字)的最佳策略是什么?
我遇到了一些建议,一次阅读几个街区,但我不确定这是否是正确的方法。
谢谢,
我遇到了一些建议,一次阅读几个街区,但我不确定这是否是正确的方法。
是的,这是一个非常标准的方法。
如果您使用的是Linux,您可能希望使用sendfile()
。这样,您就不必维护一个缓冲区,它可以将文件分块读取到缓冲区中,然后通过套接字发送。