Windows下如何实现FastCGI?

FastCGI官方文档指出stdin在启动FastCGI模块时被重新用作侦听套接字。这在Linux上非常有用,其中stdin和套接字都是int,但是我认为它不能在Windows上运行,其中stdinFILE*,并且套接字是HANDLE

因为Windows服务器支持支持FastCGI,所以有人找到了使其兼容的方法,或者为该OS重新定义了系统。但是,我的Google-fu似乎不适合定位 how 。在哪里可以找到文档?

zhang20045237 回答:Windows下如何实现FastCGI?

FastCGI仅定义了消息交换协议,但是FastCGI背后的人们也为C ++提供了该协议的一种实现。在此实现中,您的应用程序必须使用提供的FCGX_Request对象将三个提供的FCGX_Stream对象重新连接到普通对象(cin,cout,cerr)。但是我怀疑您不必重新连接流,并且可以直接使用它们。看看这个FastCGI Hello World来看看它是如何完成的。

因此,您的应用看不到HANDLEFILE*。相反,它将看到fcgi_streambuf,该继承自std::streambuf。前面提到的协议的实现方式只是您不应该关注的细节。该实现将获取字节流并将其提供给应用程序,反之亦然。

本文链接:https://www.f2er.com/3028483.html

大家都在问