我编写了一个CGI应用程序,它由Apache服务器运行,等待处理请求。事实是,在收到每个请求后,Apache运行应用程序,处理请求并相应地进行回复。它在性能方面有一些缺点,因为通过接收每个请求,它必须加载所有必要的要求和初始化。另一个问题是,在应用程序中,我必须跟踪客户端稍后将发送的ACK的一些信息。如何运行应用程序一次,让它始终等待提供请求?
答案 0 :(得分:1)
听起来您希望将mod_fastcgi
用于Apache。来自网站:
此第三方模块支持FastCGI协议。 FastCGI是一种独立于语言,可扩展,可扩展的CGI扩展,可提供高性能和持久性,而不受服务器特定API的限制。 ... FastCGI应用程序很快,因为它们是持久的。没有按请求启动和初始化开销。这使得开发可能在CGI范例内不切实际的应用程序成为可能(例如,一个巨大的Perl脚本,或者需要连接到一个或多个数据库的应用程序)。
答案 1 :(得分:0)
如果我正确理解你的问题,你基本上会被有限状态机覆盖。这将允许您具有“等待”状态,“动作”状态等。使用此选项将允许您发出请求并仅在请求完成时执行操作。一个更深入理解的好网站将是“http://www.drdobbs.com/cpp/state-machine-design-in-c/184401236”
或者你可以使用承诺。