Schrift
[thread]10846[/thread]

Frage zu telnet (Seite 4)

Leser: 6


<< |< 1 2 3 4 5 6 >| >> 55 Einträge, 6 Seiten
renee
 2007-11-23 10:56
#102881 #102881
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Statt Strict muss es strict heißen und Du musst die Variablen mit my deklarieren. Siehe auch diesenWiki:Artikel.
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-23 11:04
#102882 #102882
User since
2007-11-21
83 Artikel
BenutzerIn
[default_avatar]
ok, dann sieht der jetzt so aus
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
use Net::Telnet;
use strict;
my $filename;
my $obj;
my $telnet = new Net::Telnet (Timeout => 10, Errmode=>'return', Port=>1810, Prompt => '/[\$%#>] $/' );
my $fh = $obj->dump_log($filename);
my $telnet->open('PC110197');
my $telnet->errmode(sub{return@_ unless $_[0] =~ /eof/});
my @ausg = $telnet->cmd('CLIENT CREATE');
print @ausg;


oder auch so (kommt das gleiche)
Code (perl): (dl )
1
2
3
4
5
6
7
use Net::Telnet;
$telnet = new Net::Telnet (Timeout => 10, Errmode=>'return', Port=>1810, Prompt => '/[\$%#>] $/' );
$fh = $obj->dump_log($filename);
$telnet->open('PC110197');
$telnet->errmode(sub{return@_ unless $_[0] =~ /eof/});
@ausg = $telnet->cmd('CLIENT CREATE');
print @ausg;


die meldung ist bei beiden:
Code: (dl )
Can't call method "dump_log" on an undefined value at prog.pl line ....


was nun?
grey1987
 2007-11-23 11:06
#102883 #102883
User since
2007-11-21
83 Artikel
BenutzerIn
[default_avatar]
hab die antwort davor nicht gelesen, sorry.
wie gesagt, ichhab nicht viel ahnung davon... :-D


also jetzt sieht der code so aus:
Code (perl): (dl )
1
2
3
4
5
6
7
use Net::Telnet;
$telnet = new Net::Telnet (Timeout => 10, Errmode=>'return', Port=>1810, Prompt => '/[\$%#>] $/' );
$fh = $telnet->dump_log($filename);
$telnet->open('PC110197');
$telnet->errmode(sub{return@_ unless $_[0] =~ /eof/});
@ausg = $telnet->cmd('CLIENT CREATE');
print @ausg;


muss ich $fh und $filename ändern? filneme=mein programmname? .. hehe
muss ich jetzt irgendwo nachschauen?
oder wie, was, wo?
grey1987
 2007-11-23 11:12
#102884 #102884
User since
2007-11-21
83 Artikel
BenutzerIn
[default_avatar]
hab noch was gefunden..

Code: (dl )
1
2
3
4
5
> 0x00000: 43 4c 49 45  4e 54 20 43  52 45 41 54  45 0d 0a     CLIENT CREATE..

< 0x00000: 41 43 4b 00 ACK.

< 0x00000: 45 54 49 4d 45 4f 55 54 00 ETIMEOUT.


in der einen datei da.
renee
 2007-11-23 11:16
#102885 #102885
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
grey1987+2007-11-23 10:12:35--
hab noch was gefunden..

Code: (dl )
1
2
3
4
5
> 0x00000: 43 4c 49 45  4e 54 20 43  52 45 41 54  45 0d 0a     CLIENT CREATE..

< 0x00000: 41 43 4b 00 ACK.

< 0x00000: 45 54 49 4d 45 4f 55 54 00 ETIMEOUT.


in der einen datei da.


In welcher Datei? In dem Log?

Du siehst, ein ACK wird geschickt. Allerdings scheint es noch im Buffer zu stecken, weil wohl kein Zeilenumbruch gesendet 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-23 11:20
#102886 #102886
User since
2007-11-21
83 Artikel
BenutzerIn
[default_avatar]
ja in dem log.
und wie mach ich diesen zeilenumbruch jetzt?
einfach mit

Code (perl): (dl )
$telnet -> cmd ('\n') ???


also so gehts nicht, und so auch nicht:
Code (perl): (dl )
$telnet -> cmd ("\n") ???
grey1987
 2007-11-23 11:30
#102887 #102887
User since
2007-11-21
83 Artikel
BenutzerIn
[default_avatar]
Code (perl): (dl )
1
2
3
4
5
6
7
8
use Net::Telnet;
$telnet = new Net::Telnet (Timeout => 10, Errmode=>'return', Port=>1810, Prompt => '/[\$%#>] $/' );
$fh = $telnet->dump_log($prog.pl);
$telnet->open('PC110197');
$telnet->errmode(sub{return@_ unless $_[0] =~ /eof/});
@ausg = $telnet->cmd('CLIENT CREATE');
$telnet->cmd("\n");
print @ausg;

oder hab ich es an der falschen position??
renee
 2007-11-23 11:45
#102888 #102888
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Nein, das hat mit Deinem Code nix zu tun. Der Server sendet anscheinend keinen Zeilenumbruch nach dem "ACK"...

Probier mal
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/usr/bin/perl

use strict;
use warnings;
use Net::Telnet;

my $telnet = new Net::Telnet (Timeout => 10, Errmode=>'return', Port=>1810, Prompt => '/[\$%#>] $/' );
my $fh = $telnet->dump_log( 'test.log' );

$telnet->open('PC110197');
$telnet->errmode( sub{ return @_ unless $_[0] =~ /eof/ } );

my @ausg = $telnet->cmd('CLIENT CREATE');
my $data = $telnet->buffer;

print $$data;
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-23 11:56
#102889 #102889
User since
2007-11-21
83 Artikel
BenutzerIn
[default_avatar]
hey cool,
aber der gibt mir jetzt beides aus:

Code: (dl )
ACK ETIMEOUT

ich brauch ja nur ACK, weil ich dann eine if-Abfrage machen will,

Code (perl): (dl )
1
2
3
4
5
6
7
8
if ($date eq "ACK")
{
  print "verbunden";
}
else
{
print "nicht verbunden";
}
renee
 2007-11-23 12:26
#102892 #102892
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code (perl): (dl )
1
2
3
4
5
# ...
my $data = $telnet->buffer;
my ($ack, $other) = split /\0/, $data;
print "ACK: $ack -- OTHER: $other\n";
#...
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/
<< |< 1 2 3 4 5 6 >| >> 55 Einträge, 6 Seiten



View all threads created 2007-11-21 12:13.