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