Announcement

Collapse
No announcement yet.

RemoteHost in ServerClientThread *rechtzeitig* auslesen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • RemoteHost in ServerClientThread *rechtzeitig* auslesen

    hallo,<br>
    neue woche neues problem;o)<br>

    ich will von mehreren clients dateien zu einem server übertragen. basiert auf dem beispiel von andreas. klappt auch ganz gut.
    nun will ich aber in den dateinamen den namen des clients einbauen, von dem die datei kam. also merke ich mir diese mit
    <pre>
    constructor TClientThread.Create(CreateSuspended: Boolean; ASocket: TServerClientWinSocket);
    var
    dummy: string;
    begin
    inherited;
    FreeOnTerminate := true;

    <b>mRemoteHostName := ASocket.RemoteHost;</b>
    end;
    </pre>
    dabei tritt folgendes problem auf:<br>
    beim ersten ausführen von TClientThread.ClientExecute; ist die variable noch nicht belegt - ich vermute, das der prozeß den anderen überholt?
    bei allen folgenden aufrufen ist die variable korrekt belegt. da aber ein zweiter client nicht immer einen neuen thread abspaltet (warum eigentlich nicht?) belegt dieser die variable nicht neu.<br>
    um dieses zu lösen habe ich am ende von TClientThread.ClientExecute; ein Destroy() eingefügt - soll doch der nächste client, der was will, einen neuen thread erzeugen (und damit die variable korrekt initialisieren).<br>
    da aber der erste versuch immer scheitert, klappt das auch nicht;o(

    daher die frage: wie kann ich, wenn bei beginn der übertragung ein thread erzeugt wird, noch schnell den remotehost erhalten, bevor daten gespeichert werden?

    danke,<br>
    Sven

    PS: Windows NT4.0, Delphi 5E

  • #2
    <b>solved</b>

    da hätte ich auch früher drauf kommen können:<br>
    in TClientThread.ClientExecute habe ich einfach ein sleep(1000); eingefügt, bevor das streamen beginnt. damit hat die API zeit, den remotehost auszuspucken (oder hab ich das falsch verstanden?).

    falls jemand noch eine ästhetischere lösung hat, lern ich gern dazu;o)<br>
    Sve

    Comment

    Working...
    X