Hallo also das meinste habe ich aus einen buch aber da ist noch nichts mit corba dabei... und corba sollte ja bei mir den transfer organisieren
also hier ist der server
#!/usr/bin/perl
use strict;
use warnings;
#Pragmas einbinden
#IO::Socket Modul einbinden, mit DEFAULT und CRLF
use IO::Socket qw(:DEFAULT :crlf);
#Konstante definieren
use constant MY_PORT => '2050';
#CRLF als Zeilenende verwenden
#$/ = CRLF;
#$quit deklarieren
my $quit = 0;
#STRG+C abfangen
$SIG{'INT'} = sub { $quit++; };
#$port Wert zuweisen
my $port = shift || MY_PORT;
#IO::Socket Objekt erzeugen
my $socket = IO::Socket::INET->new(
Listen => 20,
LocalPort => $port,
Timeout => 60*60,
Reuse => 1) || die
"Konnte Socket Objekt nicht erzeugen: $!";
warn "Warte auf ankommende Verbindung auf Port $port...\n";
#Schleife, wenn $quit nicht wahr ist
while(!$quit) {
#Verbindungen akzeptieren
next unless my $session = $socket->accept;
#Peer host identifizieren
my $peer = gethostbyaddr($session->peeraddr,AF_INET) || $session->peerhost;
#Verbindungsport überprüfen
my $Port = $session->peerport;
#Meldung ausgeben
warn "Verbindung von $peer, $Port\n";
#Schleife, was bei einer Verbindung passiert
while(<$session>) {
my $msg_out = $_;
print $session $msg_out;
}
#Verbindungsende ausgeben
warn "Verbindung von $peer, $Port beendet...\n";
#Session schließen
close($session);
}
#Socket schließen
close $socket;
und das ist der client
#!/usr/bin/perl
use strict;
use warnings;
#Pragmas einbinden
#IO::Socket einbinden
use IO::Socket qw(:DEFAULT :crlf);
#Konstante definieren
use constant MY_HOST => '127.0.0.1';
use constant MY_PORT => '2050';
#Variablen deklarieren
my $host = shift || MY_HOST;
my $port = shift || MY_PORT;
#IO::Socket Modul erzeugen
my $socket = IO::Socket::INET->new("$host:$port") ||
die "Fehler beim Socket öffnen: $!";
#Schleife, für die Kommunikation
while(defined(my $msg_out = <STDIN>)) {
#Nachricht verschicken
print $socket $msg_out;
#Nachrichten empfangen
my $msg_in = <$socket>;
#Nachricht ausgeben
print $msg_in;
}
#Socket schließen
$socket->close || warn "Fehler beim schließen des Sockets: $@";
warn "Verbindung beendet..\n";
wäre super wenn du mir da etwas helfen könntest besonders der teil mit corba...
Gruß und danke
Deggit
Datum: 14.12.2005-12:37
