Re: TSocket-Warteschlangenproblem
4. Feb 2006, 21:25
Also der 2. Teil ist hinfällig, da die Event Methoden durch die TServerSocket und TClientSocket synchronisiert werden und somit auch nicht die Handler reentrant aufrufen. Daher kann der zweite Teil getrost ignoriert werden, da es diesen Fall mit den Komponenten nicht geben wird.
Und grundsätzlich brauchst du ein kleines Protokoll um die Daten auseinander halten zu können. Die einzelnen Nutzer kannst du aber durch die Events anhand des übergebenen Sockets auseinander halten, daher brauchst du einen Trenner. Die Sockets übertragen die Daten nur und sorgen nicht(!) dafür, dass die Daten als ein Block wieder ankommen. So kannst du bei einem ReceiveText mal nur einen Teil der Nachricht bekommen oder auch mehrere Nachrichten auf einmal. Daher brauchst du ein Trennzeichen zwischen den einzelnen Texten, anhand dessen du die Texte wieder trennen kannst bzw. auch feststellen kannst, ob du sie komplett empfangen hast oder vllt. noch (ein) weitere(s) ReceiveText notwendig sind.
|