Hello Markus,

What is RAM usage then? How could Winsock buffer hundreds of MBs when you
don't read and flush the buffer? If it was correct, you should see process
RAM usage go up and up to the ceiling!!

Regards,

SZ

On Fri, Jan 23, 2009 at 7:52 PM, Markus Mueller <twsoc...@priv.de> wrote:

> 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

Reply via email to