Hallo LM,
ich verwende die sockets nonblocking. Da brauche ich keine Threads. Das Warten erledigt ohnehin das socketobjekt mit seinen Ereignissen.
onread setzt, wie du schreibst, ohnehin voraus, dass die Verbindung steht, mehr brauchst du nicht. Im onread kannst du zusätzlich zur Überprüfung und Verarbeitung der Daten noch prüfen, wer der Absender ist, das ist ja auch nicht ganz unwichtig.
Auch bei omaccept unerwünschte Verbindungen zu disconnecten ist sinnvoll. Es kommt ja oft genug fremder Mist übers Netz.
Die Verbindungsabbrüche durch den client lassen sich mit onclienterror gut behandeln. dort setze ich den errorcode auf 0, so dass keine
exception auftritt. clientdisconnect wird vom socket noch routinemässig versucht, muss aber in diesem Fall fehlschlagen. Da der errorcode auch hier wieder auf 0 gesetzt wird, kann unter Berücksichtigung des Verbindungsabbruchs weiter gearbeitet werden.
Grüsse,
der flossinger