[Vienna-pm] Multicast ..

gooly at gmx.at gooly at gmx.at
Wed Jun 20 08:28:15 PDT 2007


hallo,

Peter hat mich darauf gebracht und ich hab mir versucht das einmal zu 
realisieren, nachdem durch das Modul-update von threads-shared mein 
altes Programm jetzt plötzlich manchmal stehen bleibt (seufz)..

Aber Multicast mit seinem example gibt sich sperrig, denn mit dem (s.u.) 
Beispiel-Code, kann ich keinen Multicast-Server aufestzen, der auf 
seine Client wartet:
 #!/usr/bin/perl
 # server
 use strict;
 use IO::Socket::Multicast;

 use constant DESTINATION => '226.1.1.2:2000'; 
 my $sock = 
IO::Socket::Multicast->new(Proto=>'udp',PeerAddr=>DESTINATION);

 while (1) {
   my $message = localtime;
   $message .= "\n" . `who`;
   $sock->send($message) || die "Couldn't send: $!";
 } continue {
   sleep 10;
 }

Sinnigerweise werden diese Zeilen eingeleitet mit: 
   "The following is an example of a multicast server. Every 10 seconds
     it transmits the current time and the list of logged-in users to
     the local network using multicast group 226.1.1.2, port 2000 .."
Ja wie macht man denn das? Eingeloggt sein bevor das Programm startet?
Ist das nicht der Traum jedes Hackers?

Da ich aber auch hier nicht sehen, wie ich einen 'selbstgemachten' 
Socket (a la:   my $server = IO::Socket::INET->new(...); 
          while((my $client = $server->accept()) { ..
) 
irgenwie/wo übergeben kann, hier nun, woher der Vorschlag kam, meine 
Frage: 
	Wie back ich mir damit einen Socket-Server der - neben seinen eigenen 
Daten-Handling (sichern und zippen) - auf seine Clients wartet und die 
dann alle mit den selben Daten bedient?

Danke schon mal,
Calli


More information about the Vienna-pm mailing list