1

我即将编写一个 FastCGI / SCGI(独立实现)服务器,但我对网络化,尤其是延迟应用程序编程没有太多经验。

当我详细思考我想做什么时,我遇到了一个理论问题。当 Web 服务器向我的服务器发送 TCP 请求时,输入(字节)将被处理到当前处理程序(FastCGI / SCGI 处理程序)。问题是:如果响应创建需要一些时间会发生什么?假设客户端请求一个大约 10MB 的大文件。服务器需要等到 10MB 被刷新到客户端,我是对的吗?所以得出的结论是:如果客户端的互联网连接较低,我的服务器会被阻塞,直到刷新完整的 10MB,不是吗?

例如,需要执行 SQL 语句的流程请求呢,它们需要一些时间。这次服务器会被阻止,不是吗?请纠正我。

为了解决这个问题,我唯一的想法是使用线程——我不会对它们很有经验。如果我正确理解了 SCGI 协议,那么线程就不是解决方案,因为它期望立即响应请求。而不是支持请求 ID 的 FastCGI。你的解决方案是什么?

4

0 回答 0