TNMStrm



  • Hi
    Das Thema "Datei über's Internet vesrchicken wurde zwar schon oft befragt, aber eine Lösung aus der ich hätte schlau werden können hab ich nicht gefunden.
    Folgendes: Ich benutze die Komponenten TNMStrm sowie TNMStrmServ zum Transfer einer Datei.
    Ich habe aus dem Borland Example den Source gerade übernommen, es gibt jedoch einige abweichungen.
    Und zwar liegt die Methode zum Versenden des Streams in einer anderen Header.
    Und so sieht der Send-Source aus:

    TFileStream *MyFStream = new TFileStream(path, fmOpenRead);
        try
        {
          Uploader->Host = rip;
          Uploader->FromName = "squid";
          Uploader->PostIt(MyFStream);
        }
        catch (...)
        {
        }
        MyFStream->Free();
    

    Interessanterweise hält der Debugger immer bei Uploader->PostIt(MyFStream); mit einer Meldung, dass die Anforderung zum Versenden der Datei verhindert wurde, da der Socket nicht verbunden ist. Ich habe aber keine "Connect"-Routine gefunden.
    Die gegenseite TNMStreamServ hat einen Server laufen, der jeden eingehende Nachricht vom Client entgegennimmt.
    Achja, Upload ist der TNMStrmClient. Um auf ihn zuzugreifen habe ich einen Zeiger zu ihm an die Funktion aus der anderen Header übergeben, in der auch der oben gepostete code steht.
    Danke.



  • Ach hast du nicht gefunden? Dann schau nochmals nach. Ich finde da ganz klar ein Connect()

    Aber die NM-Kompos sind sowieso schrott... schau dir mal das hier an: Große Bilder mit ServerSocket verschicken

    -junix



  • Danke junix, ich werde das mal durchgehen.
    Nein ich habe keine Connect methode, habe nochmal genau nachgesehen.
    Ja, ich würde auch lieber eine andere Methode nehmen, ok mal schauen.


Anmelden zum Antworten