TClientSocket und OnDisconnect



  • Moin!

    Ich würde gern bei OnDisconnect von TClientSocket sofort eine weitere Verbindung aufbauen. Wenn ich das aber bei OnDisconnect mache, bekomme ich folgende tolle Exception: "Windows socket error: Ein Vorgang beog sich auf ein Objekt, das kein Socket ist (10038), on API 'closesocket'"

    Das passiert, wenn ich in OnDisconnect eine neue Adresse und Port einstelle und dann Connect(); aufrufe.

    Ok wenn das nicht in OnDisconnect geht, weil der Socket da noch besteht, wo mache ich das dann, weil ich muss bemerken, wann der Socket zu iss, dass ich die nächste Übertragung in Gang setzen kann.

    / Blaubaer



  • Ich hatte das damals mit 2 Sockets gelöst, wo der Eine immer den Andern angekickt hat... Ansonsten sähe ich nur eine Möglichkeit mit Timern oder nem nebenläufigen Thread... aber das ist alles irgendwie Kindergeburtstag...

    -junix



  • danke.. daran hatte ich auch schon gedacht, aber ich dachte da gibts eine elegantere lösung 😉

    Mhh.. ich hatte auch schon daran gedacht jeder Connection, die ich aufbauen muss einen eigenen Socket zu geben.. das ist ja kein Problem soweit. Dann können die alle parallel ablaufen und selbst wenn die eine larmarschig ist, können die anderen schon bediehnt werden.

    aber auch da wirft sich das problem auf, wenn ich den socket nicht in OnDisconnect mit "delete" entfernen kann wo dann? mit einem timer wie du grad gesagt hast, ist das kindergeburtstag

    / Blaubaer


Anmelden zum Antworten