Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi TServerSocket.SendBuf (https://www.delphipraxis.net/119067-tserversocket-sendbuf.html)

sk0r 20. Aug 2008 13:53


TServerSocket.SendBuf
 
Hi,

kann es sein, wenn man die im Threadtitel genannte Routine mehrmals im
der Recieve Event Prozedur aufruft, nicht alle Daten beim Client ankommen?
Sie kommen nämlich nur an, wenn ich zwischen jedem Aufruf ein Sleep einbaue.

MfG: sk0r

gandime 20. Aug 2008 14:23

Re: TServerSocket.SendBuf
 
Hi,
wenn ich dich richtig verstehe ist dein Problem das gesendete Daten abgeschnitten ankommen?
fals ja:
Das ist normal da Daten bei dieser Komponente nicht in einem stück verschickt werden sondern entweder wenn eine gewisse Zeit vergangen ist oder eine gewisse Größe im Buffer liegt.
Lösung:
Du könntest vor jedem schicken von Daten ein paar zeichen vorwegschicken das die länge des Datenpacketes enthält und du warstest dann so lange bis diese größe erreicht ist.

mfg
gandime

sk0r 6. Sep 2008 10:20

Re: TServerSocket.SendBuf
 
Nein, die Daten kommen ja genauso wie definiert an, aber nur wenn ich zwischen dem Senden ein Sleep einbaue. Warum ist das bei der Komponente so? Das macht doch irgendwie gar keinen Sinn. :(

olee 6. Sep 2008 17:20

Re: TServerSocket.SendBuf
 
Eigentlich ist es auch nicht richtig mit einem TServerSocket die
Funktion SendBuff oder eine sonstige Senden-funktion einfach so aufzurufen.

Denn wenn die verbindung über das internet geht, werden die Pakete die vom Server zum
Client geschickt werden (wenn sie nicht eine Antwort sind) geblockt.

Apollonius 6. Sep 2008 18:39

Re: TServerSocket.SendBuf
 
Quatsch. Wenn der Client eine TCP-Verbindung aufgebaut hat, darf der Server selbstverständlich mit ihm in beliebiger Weise kommunizieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz