Great job. Please tell us what your solution is as well.

Best Regards,

SZ

On Tue, Apr 29, 2008 at 6:28 PM, Merijn Bosma <[EMAIL PROTECTED]> wrote:
> The mystery is solved :)
>
> On our server side we have a wrapping object per connected client, which
> takes care of a few things, amongst which sending keep alives and timing
> the connection out if needed.
> If a timeout is detected, the wrapping object is freed, the clientside
> drops the connection, and this cleans up the socket server-side as well.
>
> This all works well, except for a very occasional event, which could
> happen when a client timed out and the wrapping object was freed (as
> normal), and at that very moment a new client connected.
> At this moment, it could happen that the memory manager instantiated the
> wrapping object for the new client at exactly the same memory location
> of the wrapping object which was just freed.
> If at that moment, the socked of the previous client receive some data
> before the connection was closed, it triggered it's OnDataAvailable
> event, which was still set to the old wrapping object, but now of course
> came out in the new wrapping object.
> This caused a call to ReceiveStr() on the wrong TCustomWSocket, causing
> the loop.
>
> it took a while to find, but it's finally solved.
>
> thanks for everybody thinking with me.
>
>
> Francois PIETTE wrote:
> >> I've looked for LSP, but didn't find anything, can you explain what you
> >> mean with it?
> >>
> >
> > http://www.microsoft.com/msj/0599/LayeredService/LayeredService.aspx
> >
> > --
> > [EMAIL PROTECTED]
> > The author of the freeware multi-tier middleware MidWare
> > The author of the freeware Internet Component Suite (ICS)
> > 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
-- 
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