AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Telnet Client Problem

Ein Thema von jacky213 · begonnen am 17. Jun 2014 · letzter Beitrag vom 17. Jun 2014
Antwort Antwort
jacky213

Registriert seit: 2. Mär 2011
146 Beiträge
 
#1

Telnet Client Problem

  Alt 17. Jun 2014, 00:58
Hallo,

ich hatte vor eine Telnet Verbindung aufzubauen und darüber ein paar Befehle abzusetzen aber irgendwie
stützt das Programm nach dem absetzen des ersten Befehls (Der vom Server Korrekt ausgeführt wird) ab.
Hier seht ihr meinen bisherigen Code:

Verbinden:
Code:
procedure TForm2.Button1Click(Sender: TObject);
begin
telnet.Host:=edit1.Text;
telnet.Port:= strtoint(edit2.Text);
telnet.Connect;
button1.Caption:='Connected';
button1.Enabled:=false;
end;
Befehl Senden:
Code:
telnet.Sendcmd('echo hi');
Verbinden geht ohne Probleme (Trennen macht nicht richtig). Aber sobald ich den
zweiten Button zum absetzten des Befehls drücke wird der Befehl ausgeführt, dass
Programm stützt allerdings komplett ab.

Hoffe ihr könnt mir helfen

Danke
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.054 Beiträge
 
Delphi 12 Athens
 
#2

AW: Telnet Client Problem

  Alt 17. Jun 2014, 01:17
Der Fehler liegt in Zeile 42.


Ein paar mehr Infos können nie schaden.
- immernoch XE3? (das kann man übrigens auch im Profil angeben, wenn man das in den Posts nicht immer angeben möchte)
- was ist "telnet"? (wenn TidTelnet ... das im Delphi integrierte, oder gab's ein Upgrade)
- Und auch wenn ich mich manchmal wiederhole: Was sagt dein Debugger dazu, wo das Programm abstürzt? (notfalls die ensprechenden Debug-DCUs aktivieren, falls möglich)



Vermutung:
Da das Senden scheinbar geht, wird das Problem wohl beim Response liegen, also dem Empfangen und der Auswertung der Antwort des Servers.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (17. Jun 2014 um 01:26 Uhr)
  Mit Zitat antworten Zitat
jacky213

Registriert seit: 2. Mär 2011
146 Beiträge
 
#3

AW: Telnet Client Problem

  Alt 17. Jun 2014, 07:42
Ich nutze delphi XE6 und es geht um idTelnet was Standartmäßig dabei ist.
Habe vorher IdTCPClient verwendet doch das Ergebnis war das selbte, nach dem
absetzen des Befehls, stürtzt das Programm ab.

Das sind die Infos die ich von Delphi während der Ausführung bekomme

Code:
Thread-Start: Thread-ID: 4668. Prozess Project2.exe (1084)
Prozessstart: C:\Users\nixlos\Documents\Embarcadero\Studio\Projekte\Win32\Debug\Project2.exe. Basisadresse: $00400000. Prozess Project2.exe (1084)
Modul laden: Project2.exe. Enthält Debug-Infos. Basisadresse: $00400000. Prozess Project2.exe (1084)
Modul laden: ntdll.dll. Ohne Debug-Infos. Basisadresse: $77830000. Prozess Project2.exe (1084)
Modul laden: KERNEL32.dll. Ohne Debug-Infos. Basisadresse: $752F0000. Prozess Project2.exe (1084)
Modul laden: KERNELBASE.dll. Ohne Debug-Infos. Basisadresse: $76340000. Prozess Project2.exe (1084)
Modul laden: OLEAUT32.dll. Ohne Debug-Infos. Basisadresse: $772E0000. Prozess Project2.exe (1084)
Modul laden: ole32.dll. Ohne Debug-Infos. Basisadresse: $77150000. Prozess Project2.exe (1084)
Modul laden: msvcrt.dll. Ohne Debug-Infos. Basisadresse: $75AA0000. Prozess Project2.exe (1084)
Modul laden: GDI32.dll. Ohne Debug-Infos. Basisadresse: $757E0000. Prozess Project2.exe (1084)
Modul laden: USER32.dll. Ohne Debug-Infos. Basisadresse: $76020000. Prozess Project2.exe (1084)
Modul laden: ADVAPI32.dll. Ohne Debug-Infos. Basisadresse: $763A0000. Prozess Project2.exe (1084)
Modul laden: SECHOST.dll. Ohne Debug-Infos. Basisadresse: $757C0000. Prozess Project2.exe (1084)
Modul laden: RPCRT4.dll. Ohne Debug-Infos. Basisadresse: $75400000. Prozess Project2.exe (1084)
Modul laden: SspiCli.dll. Ohne Debug-Infos. Basisadresse: $75230000. Prozess Project2.exe (1084)
Modul laden: CRYPTBASE.dll. Ohne Debug-Infos. Basisadresse: $75220000. Prozess Project2.exe (1084)
Modul laden: LPK.dll. Ohne Debug-Infos. Basisadresse: $75550000. Prozess Project2.exe (1084)
Modul laden: USP10.dll. Ohne Debug-Infos. Basisadresse: $770B0000. Prozess Project2.exe (1084)
Modul laden: VERSION.dll. Ohne Debug-Infos. Basisadresse: $70AD0000. Prozess Project2.exe (1084)
Modul laden: COMCTL32.dll. Ohne Debug-Infos. Basisadresse: $707A0000. Prozess Project2.exe (1084)
Modul laden: SHLWAPI.dll. Ohne Debug-Infos. Basisadresse: $75570000. Prozess Project2.exe (1084)
Modul laden: SHELL32.dll. Ohne Debug-Infos. Basisadresse: $76450000. Prozess Project2.exe (1084)
Modul laden: WINSPOOL.DRV. Ohne Debug-Infos. Basisadresse: $6C400000. Prozess Project2.exe (1084)
Modul laden: IMM32.dll. Ohne Debug-Infos. Basisadresse: $754F0000. Prozess Project2.exe (1084)
Modul laden: MSCTF.dll. Ohne Debug-Infos. Basisadresse: $76270000. Prozess Project2.exe (1084)
Modul laden: nvinit.dll. Ohne Debug-Infos. Basisadresse: $72E60000. Prozess Project2.exe (1084)
Modul laden: detoured.dll. Ohne Debug-Infos. Basisadresse: $0F000000. Prozess Project2.exe (1084)
Modul laden: nvd3d9wrap.dll. Ohne Debug-Infos. Basisadresse: $6B740000. Prozess Project2.exe (1084)
Modul laden: SETUPAPI.dll. Ohne Debug-Infos. Basisadresse: $75E80000. Prozess Project2.exe (1084)
Modul laden: CFGMGR32.dll. Ohne Debug-Infos. Basisadresse: $772B0000. Prozess Project2.exe (1084)
Modul laden: DEVOBJ.dll. Ohne Debug-Infos. Basisadresse: $755E0000. Prozess Project2.exe (1084)
Modul laden: nvdxgiwrap.dll. Ohne Debug-Infos. Basisadresse: $6B6F0000. Prozess Project2.exe (1084)
Modul laden: UxTheme.dll. Ohne Debug-Infos. Basisadresse: $69F60000. Prozess Project2.exe (1084)
Modul laden: dwmapi.dll. Ohne Debug-Infos. Basisadresse: $69EB0000. Prozess Project2.exe (1084)
Modul laden: WTSAPI32.dll. Ohne Debug-Infos. Basisadresse: $72640000. Prozess Project2.exe (1084)
Modul laden: WINSTA.dll. Ohne Debug-Infos. Basisadresse: $714D0000. Prozess Project2.exe (1084)
Thread-Start: Thread-ID: 5332. Prozess Project2.exe (1084)
Thread-Start: Thread-ID: 4500. Prozess Project2.exe (1084)
Modul laden: WS2_32.dll. Ohne Debug-Infos. Basisadresse: $75D00000. Prozess Project2.exe (1084)
Modul laden: NSI.dll. Ohne Debug-Infos. Basisadresse: $755D0000. Prozess Project2.exe (1084)
Modul laden: fwpuclnt.dll. Ohne Debug-Infos. Basisadresse: $69BB0000. Prozess Project2.exe (1084)
Modul laden: IdnDl.dll. Ohne Debug-Infos. Basisadresse: $550E0000. Prozess Project2.exe (1084)
Modul laden: Normaliz.dll. Ohne Debug-Infos. Basisadresse: $76260000. Prozess Project2.exe (1084)
Modul laden: IPHLPAPI.DLL. Ohne Debug-Infos. Basisadresse: $71330000. Prozess Project2.exe (1084)
Modul laden: WINNSI.DLL. Ohne Debug-Infos. Basisadresse: $71320000. Prozess Project2.exe (1084)
Modul laden: ole32.dll. Ohne Debug-Infos. Basisadresse: $040A0000. Prozess Project2.exe (1084)
Modul entladen: ole32.dll. Prozess Project2.exe (1084)
Modul laden: ole32.dll. Ohne Debug-Infos. Basisadresse: $043B0000. Prozess Project2.exe (1084)
Modul entladen: ole32.dll. Prozess Project2.exe (1084)
Modul laden: CLBCatQ.DLL. Ohne Debug-Infos. Basisadresse: $761A0000. Prozess Project2.exe (1084)
Modul laden: MSWSOCK.dll. Ohne Debug-Infos. Basisadresse: $6D550000. Prozess Project2.exe (1084)
Modul laden: WSHTCPIP.dll. Ohne Debug-Infos. Basisadresse: $6D540000. Prozess Project2.exe (1084)

Geändert von jacky213 (17. Jun 2014 um 08:22 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Telnet Client Problem

  Alt 17. Jun 2014, 09:07
Da werden sehr schöne viele dlls geladen, doch interessant ist das irgendwie überhaupt nicht. Um dir weiterhelfen zu können postest entweder den kompletten relevanten Quelltext oder du setzt dir mal verschiedene Haltepunkte und debuggst dein Programm um zu sehen was "stürzt ab" eigentlich so im Detail ist.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
jacky213

Registriert seit: 2. Mär 2011
146 Beiträge
 
#5

AW: Telnet Client Problem

  Alt 17. Jun 2014, 09:26
So habe das Problem gelöst.

statt:
idtcpclient.Sendcmd('echo hi');

habe ich:
idtcpclient.Socket.WriteLn('echo hi');

dann läufts

Geändert von jacky213 (17. Jun 2014 um 09:37 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.054 Beiträge
 
Delphi 12 Athens
 
#6

AW: Telnet Client Problem

  Alt 17. Jun 2014, 10:38
Das da oben sind die Debuger-Meldungen.
Wobei dort noch bissl was fehlt, denn die Exception ist da noch nicht drin erwähnt.

Der Stack-Trace ist aber nochmal ein anderes Fenster.


Zitat:
dann läufts
Ja, weil das die Hälfte der SendCmd-Funktion ist, welche funktioniert.
Dennoch bleibt hier ein Problem, da dann die Rückantwort nicht ausgewertet wird.

Mehrere Befehle und/oder eine längere Laufzeit des Programms wird so irgendwann zu Problemen führen.
Vorallem dann, wenn man auch mal eine Antwort vom Server haben möchte.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Antwort Antwort


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 19:34 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