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
>> 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)
> 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
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