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′}; 
  
    }    
   
      
在Linux系统下实现Server Push(3)
内容版权声明:除非注明,否则皆为本站原创文章。
转载注明出处:https://www.heiqu.com/97b487462ec1db73f150275a2376b91b.html

