Schrift
[thread]10895[/thread]

was ist an der syntax falsch?? (Seite 4)

Leser: 1


<< |< 1 2 3 4 5 6 7 >| >> 62 Einträge, 7 Seiten
renee
 2007-11-26 16:11
#103050 #103050
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das ist kein Fehler, Du hast mit Strg+C das Programm abgebrochen und das ist die entsprechende Meldung dazu!
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
grey1987
 2007-11-26 16:15
#103052 #103052
User since
2007-11-21
83 Artikel
BenutzerIn
[default_avatar]
ok danke nochmal.
und wieso geschieht bei diesem code
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
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 $line;

print "Sende ein Client Create zum Server\n";
print $socket "CLIENT CREATE\n";
$socket->recv($line,10);
print "$line\n";

print "Sende ein CONNECT zum Server\n";
print $socket "CONNECT\n";
$socket->recv($line,10);
print "$line\n";

print "Sende ein DISCONNECT zum Server\n";
print $socket "DISCONNECT\n";
$socket->recv($line,10);
print "$line\n";


print "Sende ein CONNECT zum Server\n";
print $socket "CONNECT\n";
&getlinefromsocket ($socket);


print "Sende ein DISCONNECT zum Server\n";
print $socket "DISCONNECT\n";
$socket->recv($line,10);
print "$line\n";

print "Sende ein END SESSION zum Server\n";
print $socket "END SESSION\n";
$socket->recv($line,10);
print "$line\n";

$socket->close();

sub getlinefromsocket {
  my $socket = shift;
  my $buffer;
  my $char;
  while ($socket->recv($char,1)) {
    $buffer.=$char;
  }
}

ab dem
Code (perl): (dl )
&getlinefromsocket ($socket);

nichts mehr?

erst wenn ich strg c drück dann beendet das prog.
(deshalb wohl auch diese Meldung)
styx-cc
 2007-11-26 16:17
#103053 #103053
User since
2006-05-20
533 Artikel
BenutzerIn

user image
Weil dein Programm auf Daten vom Server wartet
Pörl.
grey1987
 2007-11-26 16:19
#103054 #103054
User since
2007-11-21
83 Artikel
BenutzerIn
[default_avatar]
mein programm bekommt daten vom server, jedoch werden die nicht angezeigt. woran kann dies liegen?
styx-cc
 2007-11-26 16:20
#103055 #103055
User since
2006-05-20
533 Artikel
BenutzerIn

user image
Hm, vielleicht daran, dass du dem Programm nirgendwo sagst, das es die Daten ausgeben soll?
Mach mal:
Code: (dl )
1
2
3
4
5:   while ($socket->recv($char,1)) {
print $char;
46: $buffer.=$char;
47: }
Pörl.
grey1987
 2007-11-26 16:25
#103056 #103056
User since
2007-11-21
83 Artikel
BenutzerIn
[default_avatar]
tut sich immer noch nichts..
woran kann es noch liegen?
vielelicht ist etwas am sub falsch?
grey1987
 2007-11-26 16:33
#103058 #103058
User since
2007-11-21
83 Artikel
BenutzerIn
[default_avatar]
oder kann mir villeicht einer zeile für zeile erklären was das hier überhaupt macht:
Code (perl): (dl )
1
2
3
4
5
6
7
sub getlinefromsocket ($socket) {
  my $buffer;
  my $char;
  while ($socket->recv($char,1)) {
    $buffer.=$char;
  }
}

danke schon mal
renee
 2007-11-26 16:38
#103059 #103059
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
grey1987+2007-11-26 15:33:57--
oder kann mir villeicht einer zeile für zeile erklären was das hier überhaupt macht:
Code (perl): (dl )
1
2
3
4
5
6
7
sub getlinefromsocket ($socket) {
  my $buffer;
  my $char;
  while ($socket->recv($char,1)) {
    $buffer.=$char;
  }
}

danke schon mal


1. Zeile muss sub getlinefromsocket{ heißen (wurde Dir aber schonmal gesagt).

Wenn Du $socket übergibst, solltest Du das auch verwenden...

1. Zeile: sagt, dass jetzt ne Subroutine kommt, mit dem Namen "getlinefromsocket"
2. Zeile: definiere $buffer
3. Zeile: definiere $char
4. Zeile: solange 1 Zeichen vom Socket gelesen wird
5. Zeile: hänge das Zeichen an $buffer dran

Du sagst nicht, dass die Schleife abbrechen soll!
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
renee
 2007-11-26 16:40
#103060 #103060
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
my $anzahl = 3;
getlinefromsocket( $socket, $anzahl);

sub getlinefromsocket{
   my ($socket,$anz) = @_;
   my $buffer;
   my $char;
   while ($socket->recv($char,1)) {
      $buffer.=$char;
      last if length $buffer == $anz;
   }
   print $buffer;
}


Edit: print $buffer eingefügt, damit was ausgegeben wird...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
grey1987
 2007-11-26 16:40
#103061 #103061
User since
2007-11-21
83 Artikel
BenutzerIn
[default_avatar]
super danke.
dann will ich dem jetzt noch sagen, dass wenn nichts mehr kommt, soll er abbrechen!
wie geht das?
<< |< 1 2 3 4 5 6 7 >| >> 62 Einträge, 7 Seiten



View all threads created 2007-11-26 12:25.