🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.perl
Article #884

Re: Perl i socket'y

#884
From: Robert Richard George 'reptile' ...
Date: Wed, 14 Jan 1998 12:00
52 lines
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-mail
References: <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