Thread Array mit einer Schleife ausgeben (9 answers)
Opened by grey1987 at 2007-11-28 11:28

grey1987
 2007-11-28 12:48
#103221 #103221
User since
2007-11-21
83 Artikel
BenutzerIn
[default_avatar]
also wenn es euch interessiert, ich wollte mein code ein bisschen kleiner machen:
alt:
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
use IO::Socket;
use strict;

my $socket = new IO::Socket::INET (PeerAddr =>'PC110197',PeerPort => 1810) or die "Konnte Socket nicht erstellen: $!\n";
$socket->autoflush(1);


print "\n";
########## CREATE CLIENT ###########
print "Sende ein Client Create zum Server...\n";
print $socket "CLIENT CREATE\n";
my $line = getlinefromsocket ($socket);
  if ($line eq "ACK") {
    print "erfolgreich!";

########## CONNECT ############

    print "\nSende ein CONNECT zum Server...\n";
    print $socket "CONNECT\n";
    $line = getlinefromsocket ($socket);
      if ($line eq "ACK") {
        print "erfolgreich!";
      }
      elsif ($line eq "NACK") {
        print "fehlgeschlagen!";
      }
      else {
        print "nichts geht!";
      }


############## PING CGK ###############

    print "\nSende ein PING GET CGK-IMPORT zum Server...\n";
    print $socket "PING GET CGK-IMPORT\n";
    $line = getlinefromsocket ($socket);
      if ($line eq "ACK") {
        print "erfolgreich!";
      }
      elsif ($line eq "NACK") {
        print "fehlgeschlagen!";
      }
      else {
        print "nichts geht!";
      }

############## PING BUSY ###############

    print "\nSende ein PING GET BUSY-IMPORT zum Server...\n";
    print $socket "PING GET BUSY-IMPORT\n";
    $line = getlinefromsocket ($socket);
      if ($line eq "ACK") {
        print "erfolgreich!";
      }
      elsif ($line eq "NACK") {
        print "fehlgeschlagen!";
      }
      else {
        print "nichts geht!";
      }

############## PING COLD ###############

    print "\nSende ein PING GET COLD-IMPORT zum Server...\n";
    print $socket "PING GET COLD-IMPORT\n";
    $line = getlinefromsocket ($socket);
      if ($line eq "ACK") {
        print "erfolgreich!";
      }
      elsif ($line eq "NACK") {
        print "fehlgeschlagen!";
      }
      else {
        print "nichts geht!";
      }

############## PING ZEUS ###############

    print "\nSende ein PING GET ZEUS-IMPORT zum Server...\n";
    print $socket "PING GET ZEUS-IMPORT\n";
    $line = getlinefromsocket ($socket);
      if ($line eq "ACK") {
        print "erfolgreich!";
      }
      elsif ($line eq "NACK") {
        print "fehlgeschlagen!";
      }
      else {
        print "nichts geht!";
      }

########## DISCONNECT ############

    print "\nSende ein DISCONNECT zum Server...\n";
    print $socket "DISCONNECT\n";
    $line = getlinefromsocket ($socket);
      if ($line eq "ACK") {
        print "erfolgreich!";
      }
      elsif ($line eq "NACK") {
        print "fehlgeschlagen!";
      }
      else {
        print "nichts geht!";
      }

########## ENDSESSION ############

    print "\nSende ein END SESSION zum Server...\n";
    print $socket "END SESSION\n";
    $line = getlinefromsocket ($socket);
      if ($line eq "ACK") {
        print "erfolgreich!";
      }
      elsif ($line eq "NACK") {
        print "fehlgeschlagen!";
      }
      else {
        print "nichts geht!";
      }

  }
  elsif ($line eq "NACK") {
    print "fehlgeschlagen!";
  }
  else {
    print "Keine Verbindung!";
  }
print "\n";
$socket->close();

########### UNTERPROGRAMM ###########

sub getlinefromsocket {
  my $buffer;
  my $char;
  while ( $socket->recv( $char, 1 ) ) {
    last if ( $char eq "\0" );
    $buffer .= $char;
  }
  return $buffer;
}

neu:
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
use IO::Socket;
use strict;

my $socket = new IO::Socket::INET (PeerAddr =>'PC110197',PeerPort => 1810) or die "Konnte Socket nicht erstellen: $!\n";
$socket->autoflush(1);
my $i;
my @ping = ("PING1","PING2","PING3")
my @list = ("CONNECT","$ping[0]","$ping[1]","$ping[2]","DISCONNECT","END SESSION");
my $letzter = $#list;
print "\n";

########## CREATE CLIENT ###########

print "Sende ein Client Create zum Server...\n";
print $socket "CLIENT CREATE\n";
my $line = getlinefromsocket ($socket);
  if ($line eq "ACK") {
    print "erfolgreich!";

######### Befehle ############

while ($i <= $letzter) {
  print "\nSende ein $list[$i]\n";
  print $socket "$list[$i]\n";
  $line = getlinefromsocket ($socket);
      if ($line eq "ACK") {
        print "erfolgreich!";
      }
     elsif ($line eq "NACK") {
        print "fehlgeschlagen!";
      }
      else {
        print "nichts geht!";
      }
  $i = $i + 1;
}

  }
  elsif ($line eq "NACK") {
    print "fehlgeschlagen!";
  }
  else {
    print "Keine Verbindung!";
  }
print "\n";
$socket->close();

########## UNTERPROGRAMM ###########

sub getlinefromsocket {
  my $buffer;
  my $char;
  while ( $socket->recv( $char, 1 ) ) {
    last if ( $char eq "\0" );
    $buffer .= $char;
  }
  return $buffer;
}

View full thread Array mit einer Schleife ausgeben