Hi Erich

Thanks for your reply, at least I'm not the only one.
I did find a workaround though, which was not to close the sockets in the
OnSessionClose event but I HAD to close the socket in the OnClientDisconnect
event of the Listener, before I freed the client object.
It appears that when a client disconnects, the OnSessionClose and the
OnClientDisconnect events don't always get called in the same order and the
state of the Socket isn't always consistantly closed. By forcing a close in
the OnClientDisconnect event seemed to make it more stable.

I am interested in getting this working and will help where I can, as I have
based my new project on this component.

BTW, if anyone is interested I have written a simple wrapper around TWSocket
and TICSocket so that I can compile my project for both windows and linux
(with the same code base) using CrossKylix on Delphi 2005.


Hi Peter,
>
> I had similar experiences and had to delay my Linux implementation.  I
> have
> wanted to review the Kylix code and try and fix it as I think that this
> will
> add huge value to everyone here, myself included.  I think that I know
> where
> to start looking for these problems.  In short the Kylix implementation
> uses
> threads heavily and it's not synchronizing correctly.  I have allocated
> time
> in March and April this year to sort this out so if you can wait until
> then,
> then we may have a fix.  If you are willing to get involved in the
> process,
> please let me know.  I did look for volunteers some time ago, but only got
> a
> few responses from people saying that they could provide high level input.
>
> Regards
>
> Erich Kuba
>
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
> Behalf Of Peter Slater
> Sent: Thursday, 12 January 2006 12:40 p.m.
> To: twsocket@elists.org
> Subject: [twsocket] TIcsSocket - Socket.Close locks up - 99% CPU
>
> Hi
> I am having a problem with the kylix version of ICS at the moment. It is
> a console tcp/ip server app running on linux. It accepts connection from
> clients and sends data to each of the clients. The problem is when the
> client disconnects, My program runs at 99% CPU and the loop is in the
> IcsSocket.Close method.
>
> When the client disconnects, the SockServerClientDisconnect is triggered
> which frees my client object that was created in the
> SockServerClientConnect event. In the destroy of my client object I
> close the IcsSocket  by calling Close.
>
>    If Socket.State = wsConnected then
>       Socket.Close;
>
> It is here that there is problem
> because the IcsSocket.close function never returns.
> I  know there are worker threads involved so it could be related to my
> main thead loop which is shown below.
>
>    while not bTerminating do begin
>      CheckSynchronize(1);
>    end;
> p.s. I am running the ics-kylix beta 4.
>
> Any Ideas would be appreciated
> Peter
> --
> To unsubscribe or change your settings for TWSocket mailing list
> please goto http://www.elists.org/mailman/listinfo/twsocket
> Visit our website at http://www.overbyte.be
>
>
>
>
> ------------------------------
>
> Message: 11
> Date: Thu, 12 Jan 2006 14:52:45 -0600
> From: "Jim Schultz" <[EMAIL PROTECTED]>
> Subject: [twsocket]  Newbie- Telnet SSL with zmodem transfer
> To: <twsocket@elists.org>
> Message-ID: <[EMAIL PROTECTED]>
> Content-Type: text/plain;       charset="us-ascii"
>
> sorry but wasn't sure how to post back to the list and keep it in the
> correct thread, if this is incorrect let me know.
>
> "you would just have to add the zmodem protocol on top, which you can find
> for free on the internet,
> it's part of the Turbopower Async Pro package.  Just sent the data as
> TCP/IP
> packets instead of async packets.
>
> i do have asynch pro and have used it before turbopower quit, but only for
> serial connections not tcp stuff.  its the last part - instead of async
> packets that i have no clue about.  how do you make async packets into
> tcp/ip packets.  i've searched the async list but can't find anything
> there
> to get me started.
>
> tia.
>
> Jim
>
>
> ------------------------------
>
> _______________________________________________
> To unsubscribe or change your settings for TWSocket mailing list
> please goto http://www.elists.org/mailman/listinfo/twsocket
> Visit our website at http://www.overbyte.be
>
> End of TWSocket Digest, Vol 151, Issue 7
> ****************************************
>
-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to