明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

生根于自由的土壤-FastCGI之4

[摘要]我們再看看如何用FastCGI來寫這個程序: 示例二:NUMBER.FCGI #!/usr/bin/perl #為了使用FastCGI軟件包,需要加入如下聲明: Use FCGI; #初始化段和CGI初始化段一樣。 # Variables my $End = 10; my $i; while (F...
我們再看看如何用FastCGI來寫這個程序:

示例二:NUMBER.FCGI

#!/usr/bin/perl

#為了使用FastCGI軟件包,需要加入如下聲明:

Use FCGI;

#初始化段和CGI初始化段一樣。

# Variables

my $End = 10;

my $i;

while (FCGIaccpet() 〉= 0) {

# Content Header

print ″Content-Type: multipart/x-mixed-replace;boundary=BOUNDARY\n\n″;

#因為每個請求都要有相應的Content-Type頭標來響應,所以我們把它也作為響應循環(huán)的主體代碼段。

# Main loop

for ($i=0;$i〈$End;$i++)

{ print "$i〈br〉;}

}

exit 0;
  
  因為FastCGI和服務器應用程序一樣運行,所以只有當FastCGI接收到結(jié)束信號時才退出,否則它就一直運行。

  雖然,從CGI轉(zhuǎn)向FastCGI是非常容易的,但在具體的應用實例中我們還要注意,如果原來的CGI程序中存在可能使主體代碼不能正常循環(huán)運行的代碼時,必須對它進行修改,即對一些變量、數(shù)組重新初始化。FastCGI應用程序必須保證在處理任何一個請求時,現(xiàn)有的任何狀態(tài)都不能對后來的請求產(chǎn)生影響。另外,程序員在編寫CGI程序時,模塊化設計可以使主程序運行時對那些不經(jīng)常用到的功能模塊相對“獨立",只有在需要時才被調(diào)入運行中,這樣可以加快主程序的運行。但是在轉(zhuǎn)向FastCGI應用時就要考慮盡量在一個程序段中完成相關的功能,以減少程序運行時產(chǎn)生的進程數(shù),而且程序各功能塊之間又能充分地共享緩存。