[PERL] Net::IO::Socket Problem
-
Hi !
Ich hab hier ein seltsames Problem mit der Socketklasse von Perl. Unten erstmal der Code
Also eigentlich nix weltbewegendes. Das kleine Script solle einfach nur auf die gegebene IP zum port 80 verbinden und die Verbindung dann direkt trenner.
Tuter aber nicht. Der hängt in dem ->new Teil. Fürimmer. Wenn der andere Rechner aber irgendwie antwortet (wenn statt Port 80 der FTP Port 21 genommen wird) gehts ohne Probleme - der druckt die Meldung "socket created aus" und beendet sich dann.Wie krieg ich den jetzt dazu auf jeden Fall weiterzumachen, auch wenn der Peer nix antwortet ?
Danke für Eure Hilfe !
#!/usr/bin/perl use IO::Socket; # code taken from http://www.perl.com/language/newdocs/lib/lib/IO/Socket/INET.html $sock = IO::Socket::INET->new( PeerAddr => '217.160.135.52' # testweise die ip von c-plusplus.net PeerPort => '80', Proto => 'tcp' , ) or die "could not make the connection"; print "socket created\n"; close ($sock);
-
Nun gut, dieses Problem wäre gelöst
Wens interessiert :$sock = IO::Socket::INET->new('217.160.135.52:80');
Naja, so gehts
-
Nächstes Problem
Ich möchte die Meldung die das Script bekommt gerne ausgeben.
Mein bisheriger Ansatz war so :while ($line=<$sock> ) { print $line; }
Naja, ziemlich simpel, geht aber dooferweise nicht. Manchmal bleibt er in einer in dem sock> Teil hängen, manchmal klappts aber auch
Wie ist der Richtige Weg um Daten aus einem Socket zu lesen ?
Nochmal danke !