Hello SZ, why then the data comes through the WSocketGetProc('recv') function, in WSocket_Synchronized_recv? This IS Winsock! And if I set a breakpoint to this FRecv(s, Buf^, len, flags); then every thread running through this function causes a stop on all threads!
Regards, Markus Mueller > AFAIK, Winsock buffers as much as only its buffer size data! It is ICS that > buffers data when you have paused it and when you press F8 on a breakpoint, > all threads run in the background. > > HTH, > > SZ > > On Fri, Jan 23, 2009 at 7:41 PM, Markus Mueller <twsoc...@priv.de> wrote: > > >> Hello Arno Garrels and... >> >> Special Hello to Francois Piette! Please look at the "@Francois Piette" >> at the end of this mail! >> >>>> This is exactly the point! I just don't get who reads the data, but >>>> there is defintively >>>> something reading all the available data (into a buffer?)! >>>> Later I see >>>> the data flowing >>>> through the "WSocket_Synchronized_recv": So I think it can only be >>>> Winsock who >>>> is buffering, cause the actual data reading call is "FRecv" which is a >>>> Winsock function! >>>> Am I right at this? >>>> >>>> >>> Yes, that's correct. >>> >>> >> Ok, this proves that Winsocks is buffering megabytes of data before >> "TWSocket.pause" becomes active! >> >>>> For your information: I have beside the GUI two threads: One server >>>> and >>>> one client >>>> thread. Hmmm... Delphi does stop all threads if I am at a breakpoint, >>>> doesn't it? >>>> >>>> >>> Yes, that's correct.Do you use LineMode? I do not think so but should be >>> >> asked anyway. >> >>> If LineMode is turned on the component indeed buffers data internally. >>> >>> >> No, I don't! >> >>> Hmm, should you realy use LineMode the set a breakpoint in (OverbyteIcs) >>> WSocket.pas: >>> function TCustomLineWSocket.TriggerDataAvailable(ErrCode : Word) : >>> >> Boolean; >> >>> At the line where Receive is called. >>> >>> If you do not use LineMode winsock is most likely the reason. >>> Or maybe you have you increased the default Socket receive buffer size, >>> property SocketRcvBufSize? >>> >>> >> I am not using LineMode. If you look at TriggerDataAvailable you'll see >> that it never >> gaves the DoRecv in AsyncReceive a change to read. So I think it is >> proved that the >> problem is in Winsock, do you also think so? >> >> @Francois Piette: If I send you a proved example, is there any chance to >> geht this >> issue fixed? >> >> Much regards, >> Markus Mueller >> >> -- >> To unsubscribe or change your settings for TWSocket mailing list >> please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket >> Visit our website at http://www.overbyte.be >> >> -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be