Brauch Hilfe bei ChatProgramm



  • ach ja ich das ausprobiert ,weil ich dachte vielleicht funktioniert das .
    ich hab das jetzt weg gemacht...



  • Was gibt es denn für Fehlermeldungen? Läuft es nun im LAN, oder beides auf Deinem lokalen Rechner? Wie weit bist Du mit dem Debuggen?



  • ach ich hab ein problem jetzt behoben aber jetzt muss ich irgendwie ein socket aufmachen .
    Weil jetzt die fehlermeldung anzeigt dass sie nicht mit einem socket verbunden ist.

    Fehlermeldung::
    Windows socket error:Eine Anforderung zum Senden oder empfangen von Daten wurde verhindert, da der Socket nicht verbunden ist und ( beim senden über einen Datagrammsocket mit einem sendto-aufruf) keine Adresse angegeben wurde(10057), on API'send"



  • Wieso willst Du jetzt einen Socket öffnen? Die werden doch von den Komponenten verwaltet?!
    In dem Example-Ordner des BCB ist ein Beispiel für ein Chatprogramm. Dort kannst Du mal schauen, wie das Prinzip eigentlich funktioniert.
    Für genauere Hilfe bräuchte man hier genaue Fehlerbeschreibungen, die Einstellungen von Port/Host von Client-/Serversocket.

    // Edit
    Deine Fehlermeldung sagt doch genau, dass keine Verbindung hergestellt ist.



  • ich hab irgendwie kein examples ordner.
    naja egal also mein port ist ja 1234
    und was heißt beim clientsocket eigentlich address?
    ich muss ja jetzt irgendwie mit dem client zum server connecten aber wie ?
    ich verssteht das jetzt irgendwie nicht

    aja und addresse ist bei mir auch 1234 weil das sonst nicht geht



  • Du solltest Dich vielleicht erstmal mit den Grundlagen der Socketprogrammierung vertraut machen, offenbar fehlt es bei Dir an absoluten Basics.
    Da Du noch immer nicht geschrieben hast, ob das Programm lokal oder via LAN/WAN läuft, schätze ich mal direkt auf Deinem Rechner.

    Client- und Serversocket brauchen den selben Port: 1234

    ClientSocket::Adress kannste Dir sparen.
    Setze ClientSocket::Host auf localhost und dann sollte es funktionieren.
    Bedenke auch, dass bei BCB eine Hilfe vorhanden ist, in der alle Funktionen und Eigenschaft (oft mit Beispiel) perfekt erklärt sind.



  • ja ok ich später nochmal die basic durch schon ne ganze weile her....
    aba jetzt hab ich den port gleich gestellt doch wie soll ich das mit localhost eingeben so? :

    ClientSocket1->Host = "localhost";



  • Ja, oder direkt im ObjectInspector.



  • das geht immernoch nicht ich hab jetzt den host auf localhost gestellt trozdem gehts nicht



  • Da steht noch immer die gleiche fehlermeldung 😕 😕 😕 😕 😕



  • Minimalbeispiel mit
    Port bei Client und ServerSocket 1234
    ClientSocket::Host = localhost

    //---------------------------------------------------------------------------
    
    #include <vcl.h>
    #pragma hdrstop
    
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::VerbindenButtonClick(TObject *Sender)
    {
         ServerSocket1->Active = true;
         try {
           ClientSocket1->Active = true;
         }
         catch (...)  {
           ShowMessage("Verbindungsfehler");
         }
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::ServerSocket1ClientConnect(TObject *Sender,
          TCustomWinSocket *Socket)
    {
          Form1->Caption = "Verbunden";
    }
    //---------------------------------------------------------------------------
    

Anmelden zum Antworten