在Linux系统下实现Server Push(3)


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′};        }  
  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/97b487462ec1db73f150275a2376b91b.html