Clientsocket Problem



  • Tach auch.

    Vielleicht kann mir ja wer helfen 🙂
    Ich erstelle eine Connection zum Server und dieser antwortet mir mit einem String.
    So jetzt möchte ich per TEdit ihm Text senden was ich so mach:

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    AnsiString send = Edit2->Text;
    send += 0x0d;
    send += 0x0a;
    send += 0x00;
    send = send;
    ClientSocket1->Socket->SendText(Edit2->Text);
    Label1->Caption = Edit2->Text;
    }
    

    Eigentlich müsste ich "send" abschicken, aber da hängt er an den Text komische Zahlen 😞
    Der Server brauch die Texte escaped sonst versteht er sie nicht.
    (Mit winsock habe ich es als Konsolenanwendung schon geschafft, wollte es mit CBuilder Komponenten auch mal machen)

    Habe dann noch

    void __fastcall TForm1::ClientSocket1Write(TObject *Sender,
          TCustomWinSocket *Socket)
    {
    Memo1->Lines->Add("#");
    }
    

    Das "#" sehe ich aber nur beim connecten.
    Das heisst doch das er mit ClientSocket1->Socket->SendText(Edit2->Text); nichts sendet. Aber warum? Ich verstehe das nicht im geringsten 😕

    Normal wirdt der Server auch eine Fehelrmeldung zurück wenn er das Kommando nicht versteht. Aber auch diese erscheint ja nicht.



  • Scheint zu schwer zu sein 🤡
    Google half leider ja auch nicht, also wunder mich das nicht.
    Viele haben das gleiche/ähnlcihe Problem und niemand eine Lösung.



  • Ich probierte mal das

    char text[256];
    strcpy(text,"123456789012345");
    text[12] = 0x0d;
    text[12] = 0x0a;
    text[12] = 0x00;
    int num = ClientSocket1->Socket->SendBuf(text,strlen(text));
    Caption=num;

    Caption sagt mir 15
    Also gesendet hat er es doch dann oder?
    Aber es kommt keine Errormeldung vom Server das er Befehl nicht kennt.
    Per HyperTerminal kommt eine solche aber.



  • ok es geht 🙂



  • ein lebstgespräch thread 🤡 🤡


Anmelden zum Antworten