Thread pipe und netcat eingabe/ausgabe (7 answers)
Opened by Roufex at 2010-10-28 16:15

topeg
 2010-10-28 20:54
#142299 #142299
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
das ist kein C oder Java, wenn du Kommentare schreiben willst musst du "#" benutzen.
zudem ist der Code etwas zusammen gestückelt, manches wird nicht so recht funktionieren.
Hier eine überarbeitete Variante:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/perl;

use strict;
use warnings;
use IO::Socket::INET;

my $file='./datei1';
my $server='meinappserver';
my $port='8080';

open(my $in,'<',$file) or die("ERROR open File $file ($!)\n");
my $out=IO::Socket::INET->new("$server:$port") or die("ERROR open Socket $server:$port ($@)\n");

# den Inhalt der Datei versenden
$out->print($_) while(<$in>);

# die Datei schließen wenn sie nicht mehr gebraucht wird.
close($in) or die("ERROR Close File $file ($!)\n");

#Schleife, für die Kommunikation
while(defined(my $msg_out = <STDIN>))
{
  #Nachricht verschicken
  print $out $msg_out;  # ist das genauso wie $out->print($_) ?
                        # ja ist es, nur ist hier "$_" "$msg_out"

  #Nachrichten empfangen
  my $msg_in = <$socket>;

  #Nachricht ausgeben
  print $msg_in;
}

#Socket schließen
$out->close || warn "Fehler beim schließen des Sockets: $@";

# STDERR schreiben...
warn "Verbindung beendet..\n";

View full thread pipe und netcat eingabe/ausgabe