【发布时间】:2014-04-22 04:37:17
【问题描述】:
我熟悉 C 中的 TCP/IP 编程,但对 Perl 有点陌生。在 C 语言中,您需要围绕 recv() 语句编写一个循环,因为不能保证在一个 recv() 语句中从远程服务器获取所有数据。
即
while(Size != 0)
{
Status = recv(Socket, Buffer, Size, 0);
Buffer = Buffer + Status;
Size = Size - Status;
}
我在 Perl 中看到的几乎所有示例都显示了仅打印您从套接字获得的内容,而不跟踪您收到的字节。
即
my $new_sock=$sock->accept();
while(<$new_sock>)
{
print "$_\n";
}
close($sock);
那么,Perl 是否以某种方式确保您获得所有数据而无需计算字节数?
如果答案是否定的,有人可以指出一个像上面的 C 示例一样跟踪的 Perl TCP 代码示例吗?
【问题讨论】: