[lug-ld] Perl Sockets

Torge Husfeldt lug-ld at husfeldt.info
Mo Jun 27 11:53:35 CEST 2011


Hi Hakon,

der Vorschlag bezog sich eben nicht auf Network-Sockets, sondern auf
sog. UNIX-Sockets oder "Named Pipes".

Hier für Perl im Lichte von IPC (inter-process-communication) erklärt:

http://perldoc.perl.org/perlipc.html#Named-Pipes



Am 26.06.2011 01:14, schrieb Hakon Benner:
> So hier ... nach dem Tip gestern abend hab ich mal getestet. Das
> übersichtlichste und für mich verständlichste Beispiel was ich
> gefunden hab ist das folgende:
>
> #!/usr/bin/perl -w
> #
> ##########################
> #
> # Programm: Empfänger
> #
> ##########################
>
> use IO::Socket;
> my $sock = new IO::Socket::INET (
>                                  LocalHost => 'server',
>                                  LocalPort => '7070',
>                                  Proto => 'tcp',
>                                  Listen => 1,
>                                  Reuse => 1,
>                                 );
> die "Could not create socket: $!\n" unless $sock;
>
> my $variable;
> my $new_sock = $sock->accept();
>
> while (<$new_sock>) {
>         $variable =  $_;
>         print $variable;
> }
> close($sock);
>
> # Ende #####################
>
> #!/usr/bin/perl -w
> #
> ##########################
> #
> # Programm: Sender
> #
> ##########################
>
> use IO::Socket;
> my $sock = new IO::Socket::INET (
>                                  PeerAddr => 'baby.creme',
>                                  PeerPort => '7070',
>                                  Proto => 'tcp',
>                                 );
> die "Could not create socket: $!\n" unless $sock;
>
> print $sock "Hello there!\n";
>
> close($sock);
>
> # Ende ######################
>
> Das ist ganz toll, funktioniert auch über's Netz, aber nur ein mal,
> dann muss ich den Empfänger wieder neu starten.
>
> Hat jemand ne Idee wie das aussehen sollte wenn der Server, einmal
> gestartet, wartet, bis ihm jemand was schickt, das ausgibt und dann
> wieder wartet bis ihm jemand was neues schickt, dass dann wieder
> ausgibt .... Erst wenn ihm der Sender den Text "Ende" sendet beendet
> der Empfänger.
>
> Der Sender wird dabei einfach immer neu gestartet, also nach dem
> Senden des Textes schließt der Sender den TCP Socket und das Programm
> ist beendet.
>
> -- 
> Hakon Benner-Stollowsky
> Linux User Group Landau e.V. (http://www.lug-ld.de)
>
>
> _______________________________________________
> lug-ld mailing list
> lug-ld at lists.lug-ld.de
> http://lists.lug-ld.de/mailman/listinfo/lug-ld

-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: http://lists.lug-ld.de/mailman/private/lug-ld/attachments/20110627/fb3b0255/attachment.htm