Hi,
here is my trouble.I writed a server on some port on one
redhat 6.1 to receive a 400k file then save it in local
disk.
always,once had read 13824 bytes from the socket,the job
stopped,no error report.looks like it was suspended forever.
nothing more can be read from the read buffer.
I got several SOL_SOCKET level values:
SO_RCVBUF 65535
SO_SNDBUF 65535
SO_RCVLOWAT 1
SO_SNDLOWAT 1
SO_RCVTIMEO 0
SO_SNDTIMEO 0
my codes below
########################server.pl
#!/usr/bin/perl
$args=@ARGV;
if($args!=2)
{
print "usage:server.pl [localport] [localfile]\n";
exit;
}
$port=$ARGV[0];
$file=$ARGV[1];
use IO::Socket;
$skt=IO::Socket::INET->new(LocalAddr=>'0.0.0.0',LocalPort=>$port,Proto
+=>'tcp',Listen=>5)||do{
print $!."\n";
exit;
};
$skt->autoflush(1);
print "Ready on port $port ...\n";
$newskt=$skt->accept;
$newskt->sockopt(SO_SNDLOWAT,2048);
$newskt->autoflush(1);
print "client is coming ...\n";
open (FILE,">$file")||die $!;
while($n=sysread($newskt,$buf,2))
{
$total+=$n;
print FILE $buf;
print "received:".$total."\r";
}
close FILE;
$newskt->close();
$skt->close();
print "\nDone.($file)\n";
########################client.pl
#!/usr/bin/perl
$args=@ARGV;
if($args!=3)
{
print "usage:client.pl [peerhost] [peerport] [localfile]\n";
exit;
}
$host=$ARGV[0];
$port=$ARGV[1];
$file=$ARGV[2];
use IO::Socket;
$skt=IO::Socket::INET->new(PeerAddr=>$host,PeerPort=>$port,Proto=>'tcp
+')||do{
print $!."\n";
exit;
};
print "Begin ...\n";
open (FILE,"$file")||die $!;
binmode FILE;
while($n=read(FILE,$buf,512))
{
$total+=$n;
print $skt $buf;
print "sent:".$total."\r";
}
close FILE;
$skt->close();
print "\nDone.(local $file to remote $host)\n";
<line 1:> a.1077 > b.8000: S 1072025221:1072025221(0) win 16384 <mss 1 +460,nop,nop,sackOK> (DF) <line 2:> b.8000 > a.1077: S 2930713495:2930713495(0) ack 1072025222 w +in 32120 <mss 1460,nop,nop,sackOK> (DF) <line 3:> a.1077 > b.8000: . 1:1(0) ack 1 win 17520 (DF) <line 4:> a.1077 > b.8000: P 1:513(512) ack 1 win 17520 (DF) <line 5:> b.8000 > a.1077: . 1:1(0) ack 513 win 32120 (DF) <line 6:> a.1077 > b.8000: P 513:1973(1460) ack 1 win 17520 (DF) <line 7:> a.1077 > b.8000: P 1973:2049(76) ack 1 win 17520 (DF) <line 8:> b.8000 > a.1077: . 1:1(0) ack 2049 win 32120 (DF) <line 9:> a.1077 > b.8000: P 2049:3509(1460) ack 1 win 17520 (DF) <line 10:> a.1077 > b.8000: P 3509:4969(1460) ack 1 win 17520 (DF) <line 11:> b.8000 > a.1077: . 1:1(0) ack 4969 win 30660 (DF) <line 12:> a.1077 > b.8000: P 4969:6429(1460) ack 1 win 17520 (DF) <line 13:> a.1077 > b.8000: P 6429:7889(1460) ack 1 win 17520 (DF) <line 14:> b.8000 > a.1077: . 1:1(0) ack 7889 win 30660 (DF) <line 15:> a.1077 > b.8000: P 7889:9349(1460) ack 1 win 17520 (DF) <line 16:> a.1077 > b.8000: P 9349:10753(1404) ack 1 win 17520 (DF) <line 17:> b.8000 > a.1077: . 1:1(0) ack 10753 win 29200 (DF) <line 18:> a.1077 > b.8000: P 10753:12213(1460) ack 1 win 17520 (DF) <line 19:> a.1077 > b.8000: P 12213:13313(1100) ack 1 win 17520 (DF) <line 20:> b.8000 > a.1077: . 1:1(0) ack 13313 win 27740 (DF) <line 21:> a.1077 > b.8000: P 14773:14849(76) ack 1 win 17520 (DF) <line 22:> b.8000 > a.1077: . 1:1(0) ack 13313 win 27740 <nop,nop, sac +k 1 {14773:14849} > (DF) <line 23:> a.1077 > b.8000: P 14849:16309(1460) ack 1 win 17520 (DF) <line 24:> b.8000 > a.1077: . 1:1(0) ack 13313 win 27740 <nop,nop, sac +k 1 {14773:16309} > (DF) <line 25:> a.1077 > b.8000: P 16309:16385(76) ack 1 win 17520 (DF) <line 26:> b.8000 > a.1077: . 1:1(0) ack 13313 win 27740 <nop,nop, sac +k 1 {14773:16385} > (DF) <line 27:> a.1077 > b.8000: P 16385:17845(1460) ack 1 win 17520 (DF) <line 28:> b.8000 > a.1077: . 1:1(0) ack 13313 win 27740 <nop,nop, sac +k 1 {14773:17845} > (DF) <line 29:> a.1077 > b.8000: P 17845:17921(76) ack 1 win 17520 (DF) <line 30:> b.8000 > a.1077: . 1:1(0) ack 13313 win 27740 <nop,nop, sac +k 1 {14773:17921} > (DF) <line 31:> a.1077 > b.8000: P 19381:19457(76) ack 1 win 17520 (DF) <line 32:> b.8000 > a.1077: . 1:1(0) ack 13313 win 27740 <nop,nop, sac +k 2 {19381:19457}{14773:17921} > (DF) <line 33:> a.1077 > b.8000: P 19457:20917(1460) ack 1 win 17520 (DF) <line 34:> b.8000 > a.1077: . 1:1(0) ack 13313 win 27740 <nop,nop, sac +k 2 {19381:20917}{14773:17921} > (DF) <line 35:> a.1077 > b.8000: P 20917:20993(76) ack 1 win 17520 (DF) <line 36:> b.8000 > a.1077: . 1:1(0) ack 13313 win 27740 <nop,nop, sac +k 2 {19381:20993}{14773:17921} > (DF) <line 37:> a.1077 > b.8000: P 20993:22017(1024) ack 1 win 17520 (DF) <line 38:> b.8000 > a.1077: . 1:1(0) ack 13313 win 27740 <nop,nop, sac +k 2 {19381:22017}{14773:17921} > (DF) <line 39:> a.1077 > b.8000: P 13313:13825(512) ack 1 win 17520 (DF) <line 40:> b.8000 > a.1077: . 1:1(0) ack 13825 win 27228 <nop,nop, sac +k 2 {19381:22017}{14773:17921} > (DF)
In reply to network debug by iic
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |