Socket Problem bei falschem Hostnamen



  • Hallo

    Ich hab mit ClientSocket einen neuen Socket erstellt. Funktioniert auch alles wunderbar. Daten senden usw.
    Jetzt bin ich nur gerade dabei falscheingaben abzufangen. Da hab ich folgendes Problem:

    Ich geb einen falschen Hostnamen ein und fang dann beim Event OnError eben diesen entsprechend ab und geb ne fehlermeldung aus.
    wenn ich dann danach jedoch einen richtigen Host eingeb bringt er wieder ein ErorrEvent. Wenn ich dann jedoch wieder einen richtigen Host eingebe dann funktionierts wieder.

    Ich hab mal das ganze dann untersucht und hab folgendes festgestellt:

    wenn ich nen falschen Host eingebe, dann bringt er ein ErrorEvent mit dem Namen: eeOnLookup

    beim 2. mal bringt er ein Errorevent eeOnConnect.

    wie kann ich dieses Problem beheben?



  • Hast du ein ClientSocket->Active = false;
    vor der Zuordnug des Host stehen?
    Und danach entsprechend ein ClientSocket->Active = true;

    gruß Micha



  • ja ich hab diese zuordnungen dastehen.

    dieser. 2. erorr code wird auch immer erst dann aufgerufen, wenn ich zum 2.mal auf die "verbinden" schaltfläche klicke.



  • Vieleicht wäre es eine Möglichkeit wenn du eine ClientSocket zur Laufzeit
    erstellst und diese nutzt, nach der Nutzung wieder frei giebts und für eine
    erneute Nutzung wiederum eine Erstellst.

    Ich kenne dieses Problem von NMHTTP, welche auf Socket aufgebaut ist.
    wenn man da Kurz hintereinander einen anderen (auch guten) Host eingiebt
    können schnell Fehler auftauchen, lösen konnte ich es wie ich es oben
    beschrieb.

    gruß Micha



  • promicha schrieb:

    Vieleicht wäre es eine Möglichkeit wenn du eine ClientSocket zur Laufzeit
    erstellst und diese nutzt, nach der Nutzung wieder frei giebts und für eine
    erneute Nutzung wiederum eine Erstellst.

    Ich bin noch relativ neu in BCB und wie erstellt man zur Laufzeit ein ClientSocket oder ein ServerSocket? Irgendwie muss ich es ja dann hinbekommen, die ganzen Ereignisse trotzdem einzufügen.



  • Siehe FAQ unter "Komponenten - zur Laufzeit erstellen usw.".

    Hat aber nix mit dem Thema des Threads zu tun, deshalb der obligatorische Hinweis:
    Bitte die Faustregel beachten: ein Thema pro Thread, ein Thread pro Thema.



  • vielen dank!!
    das mit dem dynamischen Erstellen hat tatsächlich geholfen.

    mfg Dr.Elch



  • Freut mich immer helfen zu können 🙂

    Viel erfolg noch mit deinem Projekt.


Anmelden zum Antworten