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