2009年9月22日星期二

[PerlChina] 各位大侠,求助一个TCPIP的问题!!!!!!!

我在使用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 讨论组"论坛。
要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---

没有评论: