【发布时间】:2020-03-21 23:38:07
【问题描述】:
FastCGI 官方文档称stdin 在启动 FastCGI 模块时被重新用作侦听套接字。这在 Linux 上很棒,stdin 和套接字都是ints,但我认为它不能在 Windows 上工作,stdin 是 FILE*,套接字是 HANDLE。
由于 Windows 服务器确实支持 FastCGI,因此有人找到了一种使它们兼容的方法,或者为该操作系统重新定义了系统。不过,我的 Google-fu 似乎无法定位 如何。我在哪里可以找到有关它的文档?
【问题讨论】:
-
维基百科文章提到“Unix 域套接字、命名管道或传输控制协议 (TCP) 连接”。
-
所有这些在 Linux(或 UNIX,或 MacOSX)下都是
ints,但在 Windows 下是HANDLEs(完全可以这样做)。我可以相信 Windows FastCGI 系统会使用管道或 TCP 连接,但是如何将其传递给 FastCGI 程序?重新利用int(0)的stdin方法对他们不起作用。这就是我要的文档。 -
我显然仍然没有看到问题。在 C++ 中,我们得到一个
streambuf,所以它内部的实现方式并不重要。您能否更详细地描述实现以使问题更清楚? -
这就是我所要求的——实施。
streambuf是如何传递给在 Windows 下运行的 FastCGI 程序的?规范中概述的方法在 Windows 下不起作用,但 FastCGI 程序已经适应在 Windows 下工作——我试图弄清楚如何,最好是使用有关所用方法的实际文档。 -
也许规格不正确。你得到
streambuf,但你没有得到stdin。
标签: windows fastcgi specifications