AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke telnetclient mit synapse und separaten befehlen
Thema durchsuchen
Ansicht
Themen-Optionen

telnetclient mit synapse und separaten befehlen

Ein Thema von Reiter0303 · begonnen am 19. Jul 2018 · letzter Beitrag vom 23. Jul 2018
Antwort Antwort
Seite 1 von 3  1 23      
Reiter0303

Registriert seit: 20. Dez 2017
27 Beiträge
 
#1

telnetclient mit synapse und separaten befehlen

  Alt 19. Jul 2018, 18:51
hallo, ich bin am versuchen mir einen telnetclient zu basteln..
der login geht
habe aber mehrere probleme

hier mal der code für den login
Code:
 procedure TForm1.TelnetConnect;

var
  telnet: TTelnetsend;
begin
  memo6.Lines.Clear;
  telnet:= TTelnetsend.Create;
  try
    telnet.TargetHost:=ComboBox1.Text;
    telnet.Login;
    telnet.WaitFor('login:');
    telnet.Send(Edit3.Text+#$0d+#$0a);
    telnet.WaitFor('word:');
    telnet.Send(Edit4.Text+#$0d+#$0a);
    telnet.WaitFor('>');
    memo1.lines.Add('Telnet-Verbindung zu '+ComboBox1.Text+' hergestellt...');
    Memo6.Lines.Text:=telnet.sessionlog;

  finally
  end;
end;
das funktioniert auch soweit...
nun möchte ich aber über ein editfeld die comannds eintragen und mit einem button senden
da komm ich nicht weiter

wie muss sowas aussehen?
der code bringt mir eine leere ausgabe
das programm wird aber durch kompiliert und keine zugriffsverletzung

Code:
procedure TForm1.Button15Click(Sender: TObject);

var
  telnet: TTelnetsend;
begin
  TelnetConnect;
  memo6.Lines.Clear;
  telnet:= TTelnetsend.Create;
  try
    telnet.WaitFor('>');
    telnet.Send(Edit14.Text+#10);
    Memo6.Lines.Text:=telnet.sessionlog;
  finally
  end;
end;
vielleicht hat ja jemand sowas schon mal gemacht und könnte mir dabei helfen

danke
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.017 Beiträge
 
Delphi 2009 Professional
 
#2

AW: telnetclient mit synapse und separaten befehlen

  Alt 19. Jul 2018, 19:08
WaitFor vergessen?

Ich benutze allgemein lieber TCP statt Telnet für soetwas (ich habe einen spezialisieren Telnet-Client geschrieben, den etwa 100.000 Leute nutzen), da hat man mehr Konstrolle drüber. Ist wohl Geschmackssache.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Reiter0303

Registriert seit: 20. Dez 2017
27 Beiträge
 
#3

AW: telnetclient mit synapse und separaten befehlen

  Alt 19. Jul 2018, 19:18
waitfor hatte ich auch schon dabei...
keine änderung

wie funktioniert das mit dem tcp client von dir?
wie gesagt will mit dem telnet client auf meine box zugreifen können , wie die standard befehle und box spezifische
wie
opkg list_installed
usw

ich hab schon soviel gelesen und komm einfach nicht weiter

Geändert von Reiter0303 (19. Jul 2018 um 19:22 Uhr)
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.017 Beiträge
 
Delphi 2009 Professional
 
#4

AW: telnetclient mit synapse und separaten befehlen

  Alt 19. Jul 2018, 19:26
Hab mal markiert, was ich meine, dass es fehlt:
Delphi-Quellcode:
procedure TForm1.Button15Click(Sender: TObject);
var
  telnet: TTelnetsend;
begin
  TelnetConnect;
  memo6.Lines.Clear;
  telnet:= TTelnetsend.Create;
  try
    telnet.WaitFor('>');
    telnet.Send(Edit14.Text+#10);
    telnet.WaitFor('>'); // DAS HIER MEINE ICH
    Memo6.Lines.Text:=telnet.sessionlog;
  finally
  end;
end;
Du musst halt immer auf eine Antwort warten.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Reiter0303

Registriert seit: 20. Dez 2017
27 Beiträge
 
#5

AW: telnetclient mit synapse und separaten befehlen

  Alt 19. Jul 2018, 19:38
ja ich weiss was du meinst..
hatte ich auch schon drin stehen...
übergibt aber eine leere seite...nix drin

wenn ich einen befehl mit in die procedure TelnetConnect schreibe gehts
bringt mir aber auch sonderzeichen...

root@dm7080:~# [6n

so wie hier
aber wenn ich das auslagere so wie du es gerade in den code geschrieben hast ...gehts nicht... leere seite

da hänge ich nun schon seit tagen
wenn ich den befehl mit oben in die procedure schreibe gehts... aber die sonderzeichen halt siehe bild
ausserdem will ich ja separat befehle über die edit schreiben können
Miniaturansicht angehängter Grafiken
bildschirmfoto-2018-07-19-um-20.43.57.jpg  

Geändert von Reiter0303 (19. Jul 2018 um 19:47 Uhr)
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.017 Beiträge
 
Delphi 2009 Professional
 
#6

AW: telnetclient mit synapse und separaten befehlen

  Alt 19. Jul 2018, 20:38
Warum erstellst du überhaupt dein Telnet-Teil jedes Mal neu? So eine Wegwerfmentalität ist nicht OK! Beim Button15Click hat es überhaupt keine Informationen zur Anmeldung und wohin es sich verbinden soll.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Reiter0303

Registriert seit: 20. Dez 2017
27 Beiträge
 
#7

AW: telnetclient mit synapse und separaten befehlen

  Alt 19. Jul 2018, 20:46
Beim Button 15 (ausführen) wird doch die Procedure für das Telnet mit geladen
Wo ja die Anmeldedaten drin sind
Siehe oben procedure telnetconnect

Wie kann ich das besser machen?
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.017 Beiträge
 
Delphi 2009 Professional
 
#8

AW: telnetclient mit synapse und separaten befehlen

  Alt 19. Jul 2018, 21:28
Beim Button 15 (ausführen) wird doch die Procedure für das Telnet mit geladen
Wo ja die Anmeldedaten drin sind
Nö, die wird nicht für das Telnet sondern für ein Telnet durchgeführt, das wie jede lokale Variable nur für seine eigene Prozedur vorhanden ist und am Ende seiner Prozedur weggeworfen wird (Wegwerfmentalität) bzw. da es die Instanz einer Klasse ist, wird diese dereferenziert, ist also für dich nie wieder zugreifbar und belegt lediglich Speicher. Dazu sagt man fachsprachlich Memory Leak. Wenn du mal Delphi-Referenz durchsuchenReportMemoryLeaksOnShutdown anmachst, fliegt dir alles um die Ohren. Die beiden Telnets in deinen Methoden haben nicht im Geringsten irgendwas miteinander zu tun.
Hier muss man mit Instanzfeldern oder globalen Variablen arbeiten.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Reiter0303

Registriert seit: 20. Dez 2017
27 Beiträge
 
#9

AW: telnetclient mit synapse und separaten befehlen

  Alt 19. Jul 2018, 21:39
ok,würde das ja gern anders lösen
hab da aber momentan keinen ansatz für, hast du vielleicht mal ein beispiel?
mir gehts eigentlich darum das telnet offen bleibt und ich über das editfeld die commands senden kann
mann könnte ja ein timeout einfügen das sagen wir nach 60 sec unaktivität die verbindung abgebaut wird

so,hab jetzt mal die procedure telnetconnect gelöscht
und die benutzerdaten unter button 15 mit eingetragen...
es geht dauert aber ne gefühlte minute bis er den befehl umsetzt und ich habe im promt noch die sonderzeichen drin root@dm7080:~# 
frage
1) wie bekomm ich die sonderzeichen weg oder unterdrückt?
2) wie kann ich das beschleunigen das er die befehle sofort umsetzt?

Geändert von Reiter0303 (19. Jul 2018 um 21:59 Uhr)
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.004 Beiträge
 
Delphi 2009 Professional
 
#10

AW: telnetclient mit synapse und separaten befehlen

  Alt 20. Jul 2018, 07:02
Delphi enthält bei den Indy-Komponenten auch einen Telnet-Client (TIdTelnet)
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz