TcpServer und TcpClient problem



  • Hallo,

    ich habe ein kleines Problem ich wollte mich mit TcpServer und TcpClient auseinander setzen. Ich benutze z.Z. Turbo C++ die free-version von Borland C++ Builder. Ich habe schon unter Examples nachgeguckt aber unter Turbo C++ ist kein Internet Example vorhanden, also keine Beispiele von TcpServer / Client. Ich möchte ein Server und ein Client-Programm schreiben. Der Client soll sich auf den Server connecten können und einfach ein Text zum Server schicken, welcher auf dem Server ausgegeben wird. Im mom bin ich soweit:

    Server:

    void __fastcall TForm1::TcpServer1Accept(TObject *Sender,
          TCustomIpClient *ClientSocket)
    {
     RichEdit1->Lines->Add("");
     RichEdit1->Lines->Add( :arrow: gesendeter Text vom Client..);
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::BitBtn1Click(TObject *Sender)
    {
     TcpServer1->RemoteHost = "127.0.0.1";
     TcpServer1->RemotePort = "2401";
     TcpServer1->Open();
     TcpServer1->Active = true;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::BitBtn2Click(TObject *Sender)
    {
    TcpServer1->Close();	
    }
    

    Client:

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    TcpClient1->RemoteHost = "127.0.0.1";
    TcpClient1->RemotePort = "2401";
    TcpClient1->Open();
    TcpClient1->Active = true;
    TcpClient1-> :arrow: TEXTSENDEN = Edit1->Text;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
    TcpClient1->Disconnect();
    TcpClient1->Close();
    }
    

    Wie kann ich nun ein Text zum Server schicken und dort Ausgeben?
    Es würde mir schon helfen wenn mir einer den Quellcode vom Chat programm unter Borland 07 posten kann, wenn dort TcpServer verwenndet wird.
    Vielen Dank

    mfg mich0r



  • schau dir doch mal bitte an WANN das ereignis "Accept" ausgelöst wird, und welches ereignis zur behandlung eingehnder daten benutzt wird, nur weil ein client sich connected (accept wird beim server ausgelöst) muss das nicht zwangsläufig heissen das auch etwas empfangen wurde .....

    ich hab selber noch nciht damit gearbeitet, aber leg dir den über

    "TCustomIpClient *ClientSocket"

    erhaltenen Socket doch mal irgendwo in einer klassenvariable ab und schau dir die hilfe (srg+f1) zu TCustomIpClient an, da wird stehen wie du empfangene daten ausliesst.



  • Hallo,

    ich hab momentan ein ähnliches Problem.

    Beim Aufbau der verbindung wird vom server onaccept ausgelöst. Sobald der Client aber etwas sendet, bricht die verbindung wieder zusammen. (kann man schön mit TCPview sehen)

    zudem hab ich noch nicht so ganz verstanden wie ich mit dem server daten empfangen kann. Wenn ich das richtig sehe, wird ja OnAccept nur beim verbidnungsaufbau ausgelöst. In derzeit kommt ich nur an ClietSocket heran. Welches event wird denn beim datenenpfang ausgelöst bzw. wo finde ich die daten wenn die empfangen wurden?

    Danke schonmal



  • Hallo,

    ich bekomme es einfach nicht hin,

    kennt jemand eine seite auf der es eine gescheite beschreibung gibt wie man einen TCP server aufbaut? Eventuell auch mir ein paar beispielen. Ich sitz schon den ganzen tag daran eine Lösung zu finden aber es fehlt mir immer die richtige funktion 😞

    Hab das ganze jetzt mal mit TServerSocket versucht, da bekomm ich zwar eine lauffähige verbindung hin, und kann einmal was empfangen aber das wars dann auch schon. mehr als ein datenpaket ist nicht drin. Ich denk mal das ich irgendwie einen Thread starten oder anlegen muss, der Socket kann wohl auch die laufenden threads abfragen, aber wie ich die gestartet bekomme scheint in der c++ builder anleitung nicht drin zu stehen zumindestens find ich nichts.

    Bin für jede hilfe Dankbar



  • Hast du evtl. eine Firewall installiert die den Port blockt?


Anmelden zum Antworten