Zwei UDP Streams gleichzeitig senden



  • Hallo zusammen,

    bis jetzt sende ich einen UDP Stream (NMUDP)

    TMemoryStream *MyStream = new TMemoryStream();
    int I;
    int ret = 0;
    AnsiString C;
    
    C = sSend;
    I = C.Length();
    MyStream->Write(&C[1], I);
    NMUDPSend->SendStream(MyStream);
    return(ret);
    

    Ich komme einfach nicht darauf wie ich 2 Streams gleichzeitig senden kann, habe folgendes versucht:

    TMemoryStream *Stream1 = new TMemoryStream();
    TMemoryStream *Stream2 = new TMemoryStream();
    int I;
    int J;
    int ret = 0;
    AnsiString Send1;
    AnsiString Send2;
    
    Send1 = sSend1;
    Send2 = sSend2;
    I = Send1.Length();
    J = Send2.Length();
    Stream1->Write( &Send1[1], I );
    Stream2->Write( &Send2[1], J );
    NMUDPSend->SendStream(Stream1, Stream2); //Fehler beim Aufruf von Sendstream (zu viele Parameter)
    //oder
    NMUDPSend->SendStream(Stream1); //Auf der Client Seite kommt 2x der gleiche Wert an...
    NMUDPSend->SendStream(Stream2); //
    

    Client/Empfangs Seite:

    AnsiString Send1;
    AnsiString Send2;
    int I;
    int J;
    
    TMemoryStream *Stream1 = new TMemoryStream();
    NMUDPEmpf->ReadStream(Stream1);
    Send1.SetLength(NumberBytes);
    Stream1->Read(&Send1[1], NumberBytes);
    
    TMemoryStream *Stream2 = new TMemoryStream();
    NMUDPEmpf->ReadStream(Stream2);
    Send2.SetLength(NumberBytes);
    Stream2->Read(&Send2[1], NumberBytes);
    
    I = StrToInt(Send1);
    J = StrToInt(Send2);
    
    StatusBar->Panels->Items[0]->Text = I; //Gleicher Wert wie J
    StatusBar->Panels->Items[1]->Text = J; //Gleicher Wert wie I
    

    Bin kein Prog.Profi 🙄
    und für jeden schnippsel code dankbar 🙂

    mfg, TLL.



  • Hi

    habe die beiden Strings einfach mit "," zusammengefügt.

    Doch jetzt stellt sich die Frage, wie ich diesen String wieder teile...



  • TStringList CommaText
    oder DelimitedText und Delimiter



  • oki danke das wars 🙂


Log in to reply