[lug-ld] Antwort: Re: Perl Sockets
Hakon Benner
Hakon.Benner at hornbach.com
Mo Jun 27 12:03:59 CEST 2011
Im Nachhinein find ich die Network Sockets aber sympathischer... dann kann
ich meinen domod übers Netzwerk steuern.
Mit freundlichen Grüßen
Best Regards,
--
Hakon Benner-Stollowsky
Network
IT Infrastructure
HORNBACH-Baumarkt-AG
Zentralverwaltung
Hornbachstraße 11
76878 Bornheim bei Landau/Pfalz
fon: +49.6348.60.2193
fax: +49.6348.60.3193
Von: Torge Husfeldt <lug-ld at husfeldt.info>
An: Allgemeine Mailingliste der Linux-User-Group Landau <lug-ld at lists.lug-ld.de>
Datum: 27.06.2011 11:53
Betreff: Re: [lug-ld] Perl Sockets
Gesendet lug-ld-bounces at lists.lug-ld.de
von:
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
_______________________________________________
lug-ld mailing list
lug-ld at lists.lug-ld.de
http://lists.lug-ld.de/mailman/listinfo/lug-ld
**************************************************************************************
Hornbach-Baumarkt-AG
Sitz: Bornheim/Pfalz
Registergericht Landau HRB 2311
USt-IDNr. DE 151 116 749
Vorsitzender des Aufsichtsrates: Albrecht Hornbach
Vorstand: Steffen Hornbach (Vorsitzender),
Roland Pelka (stellv. Vorsitzender),
Susanne Jäger, Jürgen Schröcker, Manfred Valder
**************************************************************************************
HORNBACH auf Facebook http://www.facebook.com/hornbach.de
HORNBACH auf Youtube http://www.youtube.com/hornbach
HORNBACH auf Twitter http://twitter.com/Hornbach_tweets
**************************************************************************************
E-mail-Newsletter: Jetzt anmelden!
Ein Mail. Ein Wink:
Einfach auf hornbach.de gehen, anmelden und los geht es.
Lassen Sie sich nichts durch die Lappen gehen!
http://www.hornbach.de/newsletter
**************************************************************************************
This e-mail is only intended for the person(s) to whom it is addressed
and may contain confidential information.
Unless stated to the contrary, any opinions or comments are personal
to the writer and do not represent the official view of the company.
If you have received this e-mail in error, please notify us immediately
by reply e-mail and then delete this message
from your system. Please do not copy it or use it for any purposes,
or disclose its contents to any other person.
Thank you for your co-operation.
**************************************************************************************