我在使用Perl的IO:Socket模块做了个TCP客户端用来接收服务器端发来的一个数组,我把recv函数包装了一下变成下面的这段代
码,使用两个参数来调用(另外的参数并不重要)。但是在接收数据的时候,收到的数据比实际的数据少了一个字节,是因为数据报分组的原因么?在使用
recv函数时需要考虑分组么?如果要考虑的话,我应该怎么做?

sub Recv {
        ( $Sock, $handle ) = @_;

        #     my $recvTmp = <$Sock> ;
        my $recvTmp;
        $Sock->recv( $recvTmp, 100, 0 );

        $Sock->recv( $recvTmp1, 100, 0 );
        my @recvarray = unpack( 'N*', $recvTmp );
        print "@recvarray \n";

        print "Recv  ok!\n";
        return @recvarray;

}
--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛“PerlChina Mongers 讨论组”论坛。
 要在此论坛发帖,请发电子邮件到 [email protected]
 要退订此论坛,请发邮件至 [email protected]
 更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---

回复