Re: Server disconnectet Client
28. Dez 2004, 15:16
Moin!
OnClientConnect:
Wir einmalig beim Verbindungsaufbau aufgerufen. Zu diesem Zeitpunkt wurde der Aufbau der Verbindung mit dem Client abgeschlossen und die Verbindung steht. Es liegen noch keine Daten an, die man empfangen könnte. Wenn man in diesem Ereignis ein ReceiveText o.ä. aufruft, dann ist es mehr als Zufall, wenn dort was zu empfangen wäre.
OnClientRead:
Dieses Ereignis kann mehrfach aufgerufen werden. Es wird immer ausgelöst, wenn Daten vom Client empfangen wurden und im Buffer abgelegt wurden. Diese können dann im OnClientRead ausgelesen werden. Mit dem Auslesen werden diese Daten auch gleich aus dem Buffer entfernt. Die zu empfangenen Daten können in unterschiedliche Teile zerstückelt sein, es gibt keine Garantie das sie in einem Stück bzw. genauso unterteilt ankommen wie sie losgeschickt wurden. Es kann also vorkommen das 2 nacheinander mit SendText losgeschickte Texte mit einem einzigen ReceiveText empfangen werden. Genausogut kann es mehrere OnClientRead und ReceiveText benötigen um einen Text zu empfangen der auf der Clientseite mit einem einzigen SendText verschickt wurde.
Ein Auslesen des Buffers durch ReceiveBuf() oder ReceiveText sollte immer nur im OnClientRead statt finden.
Nein, es kann nicht sein, das diese sich behackeln - wenn man beachtet das ein ReceiveBuf()/-Text() nur im OnClientRead stattfinden darf.
MfG
Muetze1
|