It will be interesting to hear an answer to this...

Thank you,

SZ

On Thu, Aug 12, 2010 at 7:56 PM, Eric Fleming Bonilha
<e...@digifort.com.br>wrote:

> Dear ICS Team,
>
> I found a problem in our software that is limiting the total ammount of TCP
> sockets that I can create.
>
> The problem that I found is that I can´t create many many instances of
> TWSocket, because of its internal message handler (I did many tests), here
> are my findinds:
>
> We use AllocateHWnd from Classes.pas to allocate message handlers to
> several different objects in our software, so, at one time we can have over
> 1000 handles allocated across the software
>
> I did some tests and using a service application I could create about
> 170.000 instaces of TWSocket, but if I allocate some thousand handles (By
> using Classes.AllocateHWnd) than I can´t create ANY instance of TWSocket, in
> my tests I created 10.000 handles by using classes.allocatehwnd, than I
> couldn´t create any TWSocket
>
> Since my app can have many handles and I need many sockets, I did many
> tests and found that procedure TIcsWndHandler.AllocateHWnd; create its own
> windows handle, instead of using classes.allocatehwnd
> How does this scheme works?
>
> To make a test, I changed the ICS implementaion of procedure
> TIcsWndHandler.AllocateHWnd; to create the handle using
> Classes.AllocateHWnd, then, I could create over 800.000 instances of
> TWSocket, and at least in my tests, it was connecting to hosts and receiving
> data correctly
>
> And the better, if I create 1.000.000 of handlers by using
> CLasses.AllocateHWnd, I could create over 700.000 instaces of TWSocket
> yet...
>
> So, If I change my ICS code to allocate the message handler by using
> Classes.AllocateHWnd instead of using the implementation of procedure
> TIcsWndHandler.AllocateHWnd;
> What could go wrong?
>
> Because at preliminary tests, the sockets were working OK, even in
> multi-threading and I almost have no limit of socket creation
>
> Eric
> --
> 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