Delphi-PRAXiS
Seite 4 von 6   « Erste     234 56      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Komponente für SSH-Verbindung (https://www.delphipraxis.net/70989-komponente-fuer-ssh-verbindung.html)

xZise 12. Mär 2009 22:44

Re: Komponente für SSH-Verbindung
 
Hat keiner eine Idee, warum der Thread sich nachher blockiert?

MfG
xZise

omata 13. Mär 2009 01:43

Re: Komponente für SSH-Verbindung
 
Liste der Anhänge anzeigen (Anzahl: 1)
Der Quellcode enthielt mehrere Problemstellen, der schlimmste Fehler war in PLinkremote.pas und dort in ReadPipe. Dort wurde nämlich nicht an allen Stellen die übergebene Pipe benutzt, sondern immer die globale Output-Pipe.

xZise 13. Mär 2009 14:30

Re: Komponente für SSH-Verbindung
 
Zitat:

Zitat von omata
Der Quellcode enthielt mehrere Problemstellen, der schlimmste Fehler war in PLinkremote.pas und dort in ReadPipe. Dort wurde nämlich nicht an allen Stellen die übergebene Pipe benutzt, sondern immer die globale Output-Pipe.

Ookay, dass ist ungünstig :roll: Weil gerade ReadPipe sollte das verhindern. Was sind den weitere Probleme gewesen?

MfG
xZise

omata 13. Mär 2009 23:52

Re: Komponente für SSH-Verbindung
 
Zitat:

Zitat von xZise
...gerade ReadPipe sollte das verhindern.

Naja, aber nicht wenn die zu lesende Bytemenge aus einer Pipe kommt und dann aus einer anderen diese Anzahl gelesen wird. Dann steht das System, weil eben erst so viel Bytes wie angegeben gelesen werden, bevor ReadPipe wieder zurückkehrt.

Zitat:

Zitat von xZise
Was sind den weitere Probleme gewesen?

Verschiedenes, habe alles korrigiert. Für genau Informationen empfehle ich KDiff, dann werden die Änderungen sichtbar.

xZise 14. Mär 2009 09:33

Re: Komponente für SSH-Verbindung
 
Genau, dass hatte ich mir auch gedacht. Ich werde mal gucken in wie fern ich das noch weiter auslagern kann.

MfG
xZise

omata 14. Mär 2009 16:20

Re: Komponente für SSH-Verbindung
 
Was hast du dir gedacht? Das eigentliche Problem sollte jetzt behoben sein. Mich würde eher mal interessieren, ob der besagte Fehler noch auftritt oder nicht. Darüber läßt du leider keine Informationen durchsickern, schade.

seim 15. Apr 2009 19:45

Re: Komponente für SSH-Verbindung
 
Im folgenden rede ich über ein paar Begriffe die ich zwar nicht ganz verstehe, aber zumind. weis was damit gemeint ist bzw. wie diese Wirken auch wenn ich sie nicht selbst programmieren kann ^.^


Also ist es möglich, dass in einem anderen Thread (<> Hauptthread) der Buffer, der auch im Event "Data available" verwendet wird die ganze Zeit an einen globalen String hinten angehängt wird?
Das wäre nämlich notwendig um die Antwort des Severs in seinem Programm verwenden zu können etwa so:

Delphi-Quellcode:
..
PLink.write_str('ls -l');

Sleep(200); //An dieser Stelle "friert" der Hauptthread ein und deshalb funktioniert das Event auch nicht, dass in diesem Fall die Variable "Answer" füllen würde

//.. Verarbeite Antwort

seim 15. Apr 2009 22:47

Re: Komponente für SSH-Verbindung
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hat da jmd schon ne Lösung zu? Also die Antwort vom Server zu bearbeiten?


In diesem Projekt gibts eine

Delphi-Quellcode:
procedure sshExecCommand(const Command : string);
Dessen Antwort wird gut aufgenommen und in einer MemoBox ausgegeben. Allerdings ist die procedure zum Zeitpunkt der Antwort bereits zu ende und kann deshalb nicht verarbeitet werden.. Das Ziel ist es die Antwort zurückzugeben:

Delphi-Quellcode:
function sshExecCommand(const Command : string): TStringList;
Jmd Vorschläge?


Wer's testen will müsste das neu compilen um die IP, Port, User und PW anzupassen (bitte nur in einer Testumgebung also auf keinen Fall mit root an nem 100Mbit Server einloggen :lol: )

WeissenbornC 20. Jul 2009 11:14

Re: Komponente für SSH-Verbindung
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,

vielen Dank für die Komponente und die Verbesserungen von omata. Leider erhalte ich eine Speicher-Warnmeldung beim Beenden der Demo von Omata (s.A.)

Außerdem kann ich die neue Version der plinkremote nicht als Komponente in die Palette bekommen - Versuche ich, die neue Version der .pas über die alte zu schreiben und dann mit der .dkp zu kompilieren wird die Komponente aus der Palette entfernt. :(

Ich verwende Delphi 6 Prof. (Die PosEx habe ich bereits hinzugefügt, an der liegt es nicht ;))

Vielen Dank im voraus.

@seim: Falls das noch aktuell sein sollte, ich würde in einer schleife auf Antwort warten, etwa

Delphi-Quellcode:
repeat
 sleep(10);
 Application.ProcessMessages;
until gotReply OR Application.Terminated;
Bei mir habe ich das warten vorerst über einen Timer gelöst.

[edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit]

omata 20. Jul 2009 11:56

Re: Komponente für SSH-Verbindung
 
Ich weiss nicht was du da gemacht hast, aber in der Demo gibt es die Komponenten TObjectList, TWinHelpViewer und THelpManager gar nicht, dementsprechend weiss ich nicht wie diese Fehler in der Demo zu finden sein sollen.

Sorry, da kann ich nicht helfen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 Uhr.
Seite 4 von 6   « Erste     234 56      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz