0

我是 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;

}

欢迎任何帮助。

4

0 回答 0