我是 CGI 编程的新手。我试图生成一个随机数并继续显示在网页上。我用 C 语言编写了一个程序,将其编译并放置在 fedora core /var/www/cgi-bin/rand_mumber.cgi 的路径中。我可以通过本地主机访问这个 cgi 页面,结果很好。但是,当我尝试从网络上的另一台机器访问网页时,就会出现问题。网页不断加载数据,最后超时。我的分析表明,在程序终止之前,网络浏览器不会上传页面。在下面的示例中,程序永远不会终止。此外,这种类型的一个例子是谷歌搜索后的本地时间,本地时间不会自行更新。它需要刷新单击。但我的要求是页面应该不断更新,而不是等待完成或刷新点击。随着随机数的生成,它应该显示在网页上,然后再次读取另一个随机数。这个过程应该不断重复,而不是网页等待程序终止。
这是我编译并重命名为 rand.cgi 的程序
请告诉我一种方法来不断更新和显示网页。当随机数生成时,它应该不断更新网页。这是一个永无止境的节目。
#include"stdio.h"
#include"pthread.h"
#include"unistd.h"
pthread_t tid;
void *print_series_forever()
{
int n;
int k = 0;
while( 1 )
{
n = rand()%100 + 1;
printf("%d",n);
k++;
if ( k == 110 )
{
printf("\n"); /** Enter next line **/
k = 0;
}
usleep(100);
}
}
int main(int argc, char **argv)
{
int err;
err = pthread_create(&tid,NULL,&print_series_forever,NULL);
pthread_join(tid,NULL);
sleep(2);
return 0;
}
欢迎任何帮助。