科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道如何在Linux系统下实现Server Push (2)

如何在Linux系统下实现Server Push (2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

由于Linux的开放性,极大激发了程序员的创造力,使得以Linux为作业平台的新技术不断出现。Server Push(推技术)就是其中一例。它可在完全不增加成本的基础上,使网站达到最佳的性能。本文将对其进行详细介绍。

作者:IT365 来源:IT365 2007年10月19日

关键字: 操作系统 Server 实现 Linux

  • 评论
  • 分享微博
  • 分享邮件
 

multipart—start() 这个函数是为服务器指定了传送一个确定的文档,如果不用这个函数,根据脚本程序的内容服务器可以直接把指定数据传送给客户机,当然客户机不能识别这种类型的文档可以忽略而不会产生错误。但如果你指明了具体的文档类型,如例程中的text/plain(纯文本类型),客户机就不再对文档加以分析,从而提高了处理速度,否则客户机只知道传送过来的是 multipart(复合型)而要重新对其分析。  

至于multipart—end函数不需作详细说明,只是说明了一个 Push过程的结束。  

为了使大家能更好地理解这三个函数详细的技术内容,笔者把这三个函数的实现过程介绍给大家:

  
    sub multipart—init { 
  
    my($self,@p) = self—or—default(@—); 
  
    my($boundary,@other) = $self-〉rearrange([BOUNDARY],@p); 
  
    $boundary = $boundary || ′------- =—aaaaaaaaaa0′; 
  
    $self-〉{′separator′} = ″\n--$boundary\n″; 
  
    $type = Server—Push($boundary); 
  
    return $self-〉header( 
  
    -nph =〉 1, 
  
    -type =〉 $type, 
  
    (map { split ″=″, $—, 2 } @other), 
  
    ) . $self-〉multipart—end; 
  
    } 
  
    sub multipart—start { 
  
    my($self,@p) = self—or—default(@—); 
  
    my($type,@other) = $self-〉rearrange([TYPE],@p); 
  
    $type = $type || ′text/html′; 
  
    return $self-〉header( 
  
    -type =〉 $type, 
  
    (map { split ″=″, $—, 2 } @other), 
  
    ); 
  
    } 
  
    sub multipart—end { 
  
    my($self,@p) = self—or—default(@—); 
  
    return $self-〉{′separator′}; 
  
    }
  

三、应用技巧

使用Server Push的其它技巧,限于篇幅,笔者不再作过多的介绍。不过有时由于客户机在一段时间内没有对服务器发生请求,也就是若一段时间内没有新的内容向浏览器输入,可能发生连接超时现象,用下面的程序来处理一下就能很好地解决:

 

 
    $message=1; 
  
    $whilecount=1; 
  
    do { 
  
      主程序; 
  
      $message++; 
  
      } 
  
    if ($whilecount == 30) 
  
    { 
  
    print ″〈SCRIPT〉$message〈/SCRIPT〉\015\012″; 
  
    $whilecount = 0; 
  
    } 
  
    $whilecount++; 
  
    sleep 1; 
 
 

这种技巧大家一看就明白了,正如很多 FTP软件的Loop一样,在空闲时发一个空信号,不让程序进入等待状态。这段程序每过30秒就给客户机输出一行〈SCRIPT〉$message〈/SCRIPT〉,而$message是数值1、2、3等,这一行在浏览器浏览时并不显示任何内容,让浏览者感觉不到。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章