Article View: pl.comp.lang.perl
Article #884Re: Perl i socket'y
From: Robert Richard George 'reptile' ...
Date: Wed, 14 Jan 1998 12:00
Date: Wed, 14 Jan 1998 12:00
52 lines
2695 bytes
2695 bytes
Nalezy tylko pamietac, ze jesli serwer moze podac odpowiedz kilkiliniowa,
to zakonczy ja linia zawierajaca ,,samotna'' kropke. Jesli odpowiedz bedzie
jednoliniowa, to konczyc ja bedzie para znakow <CR><LF>, wiec stosownie do
tego nalezy zonglowac metodami:
jesli oczekujemy odpowiedzi kilkuliniowej, to
SOCK->input_record_separator("\r\n.\r\n");
Jesli oczekujemy odpowiedzi jednoliniowej, to
SOCK->input_record_separator("\r\n");
#!/usr/bin/perl
use Socket;
use FileHandle;
$remote = $ARGV[0];
$port = $ARGV[1];
$iaddr = inet_aton($remote) || die "error\n";
$paddr = sockaddr_in($port, $iaddr);
$proto = getprotobyname('tcp');
socket(SOCK, PF_INET, SOCK_STREAM, $proto) || die "Socket error\n";
connect(SOCK, $paddr) || die "error\n";
SOCK->autoflush();
$line = <SOCK>;
print $line;
print SOCK "LIST\n";
SOCK->input_record_separator("\r\n.\r\n");
$listagrup = <SOCK>;
print SOCK "QUIT\n";
close(SOCK);
@lista = split(/\r\n/,$listagrup);
print join("\n",@lista)."\n";
Powodzenia w ujazmianiu perla zyczy
Gad
PS. Proponuje zainteresowac sie modulem IO:Socket, obsluga polaczen
sieciowych jest wtedy znacznie prostsza...
--
mailto:reptile@pdi.net :)
Women are more complicated than PC... :(
Look into my headers and you'll see who I am. :)
Technical Details
Message-ID:
<19980114130050.64408@address.in.sig>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!lublin.pl!gad!not-for-mailReferences:
<Pine.LNX.3.93.980114070615.15703A-100000@kmicic.is.com.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!lublin.pl!gad!not-for-mail From: Robert Richard George 'reptile' Wal <reptile@address.in.sig> Newsgroups: pl.comp.lang.perl Subject: Re: Perl i socket'y Date: Wed, 14 Jan 1998 13:00:50 +0100 Organization: Me? Organized? Get real :) Lines: 52 Message-ID: <19980114130050.64408@address.in.sig> References: <Pine.LNX.3.93.980114070615.15703A-100000@kmicic.is.com.pl> NNTP-Posting-Host: cyber.cs.net.pl Mime-Version: 1.0 X-Mailer: Mutt 0.88 In-Reply-To: <Pine.LNX.3.93.980114070615.15703A-100000@kmicic.is.com.pl>; from Sebastian Lukasiewicz on Wed, Jan 14, 1998 at 07:19:47AM +0100 X-URL: http://www.pdi.net/~gad (Eternally under construction) X-IRC-Nick: Gadzinka@iRCnET.iRC.nETWORK (Gadzinka -- tiny little reptile) X-Phone: +48(0)42 593453 X-PGP-Fingerprint: 37E1D55F 29793C0C B8D39D01 61FC50CE X-PGP-Key: finger reptile@gryzmak.lodz.pdi.net X-Motto: Fact that you're paranoid doesn't imply that THEY don't follow you. X-Disclaimer: I don't answer mail or news articles below some arbitrary mark. X-Favourites: women, cats, Amiga, Linux, TeX, vim, music, sci-fi, poetry. X-Mount-Entry: mount -t human /dev/reptile /earth/europe/poland/lodz Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit