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