Hello Miguel, Your code looks OK. Very strange this behavour. Can you make a simple demo (GUI) project to demonstrate the behavour ? Possible I have time this weekend to investigate it.
--- Rgds, Wilfried [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html http://www.mestdagh.biz Friday, October 6, 2006, 03:25, Miguel Cañas wrote: > Hello Wilfried > Today i made some test and the results are not good for me. I colud no t > find the error that triggger the exceptior but i find that for each > exception i have an 'empty' connection (no ip no port). > I will make a little explanacion of my code. My service is a tcp server very > similar to the example that comes with ICS componets. > My code look like this > WSocketServerExClientConnect() > .... > OnDataAvailable := ClientDataAvailable; > OnBgException := ClientBgException; > ConnectTime := Time > .... > writeinTxtFile( '--Conexiones Activas : ' + IntToStr( > WSocketServerEx.ClientCount ), true ); > for i := 0 to WSocketServerEx.ClientCount - 1 do > begin > writeinTxtFile( Format( '--Activa[%d] IP [%s] PORT [%s]', > [ i, WSocketServerEx.client[ i ].getPeerAddr, > WSocketServerEx.client[ i ].getPeerport ] > ) ); > end; > ... > end > WSocketServerExClientDisconnect( ) > ... > for i := 0 to WSocketServerEx.ClientCount - 1 do > begin > WriteTxtFile( Format( '--D Activa[%d] IP [%s] PORT [%s]', > [ i, WSocketServerEx.client[ i ].getPeerAddr, > WSocketServerEx.client[ i ].getPeerport ] > ) ); > end; > .. > end; > When i have like 150 or 200 connections in the list i have something like > this in my txt file > [05/10/2006 11:21:15:845] --D Activa[165] IP [] PORT [] > and if i try to do .close call this call works but nothing happen, not to > the list no exception, no disconnect event nothing. > This behavior repeats only with heavy traffic. > If i start a new valid connection after i while this connection is added to > the end and works fine if no heavy traffic start again but i can free the > used positions with empty connections (no ip no port). > Thank you > Miguel Angel Cañas C. >>From: Wilfried Mestdagh <[EMAIL PROTECTED]> >>Reply-To: ICS support mailing <[email protected]> >>To: [email protected] >>Subject: Re: [twsocket] TWsocket server client list Error >>Date: Thu, 5 Oct 2006 15:59:48 +0200 >> >>Hello Miguel, >> >> > However I want to ask something to, Is there a theory for the >>connections >> > without IP and PORT that shows the TWsocketServer.client[i]? >> >>No I have no theory at the momen. With empty IP and Port, which >>properties do you exacly mean ? >> >> > in case that some timeotu expired, the code looks like this: >> >>Code looks OK to me. >> >>--- >>Rgds, Wilfried [TeamICS] >>http://www.overbyte.be/eng/overbyte/teamics.html >>http://www.mestdagh.biz >> >>Thursday, October 5, 2006, 15:37, Miguel Cañas wrote: >> >> > Thank you for the answer Wilfried >> >> > Im following your suggestios and I will test the Wsockets events today >>with >> > try .. except blocks to try to find the error. >> >> > However I want to ask something to, Is there a theory for the >>connections >> > without IP and PORT that shows the TWsocketServer.client[i]? >> >> > [04/10/2006 17:24:09:296] --D Activa[1] IP [] PORT [] >> >> > because I have a procedure that check for connections to make a close >>socket >> > in case that some timeotu expired, the code looks like this: >> >> > //check for a valid client >> > if WSocketServerEx.IsClient( WSocketServerEx.Client[ i ] ) >>then >> > begin >> > //Close socket. Nothing send. >> > TTcpSrvClient( WSocketServerEx.Client[ i ] ).Close; >> > end; >> > I can see thar in the case of the no IP no port connections i can do a >> > .Close call >> >> > Thank you >> >> > Miguel Angel Cañas C. >> >> >> >>From: Wilfried Mestdagh <[EMAIL PROTECTED]> >> >>Reply-To: ICS support mailing <[email protected]> >> >>To: ICS support mailing <[email protected]> >> >>Subject: Re: [twsocket] TWsocket server client list Error >> >>Date: Thu, 5 Oct 2006 12:42:03 +0200 >> >> >> >>Hello Miguel, >> >> >> >>BGException is background exception. It comes from the message pump. >> >>This means it can come also from your code in one of the TWSocket >> >>events. To test put them all in a exception block until you found the >> >>error (if it is over there of course). >> >> >> >>Socket operation on a non socket means that somewhere some handle is >> >>overwritten. Mostly this comes because you have somewhere written >> >>outside a variable (so written [partly] to another). >> >> >> >>This is not nececary the same moment but has happend a little while >> >>before it. >> >> >> >>Also possible is that you have a pointer to a datasocket that is not >> >>exestant anymore. If you have an array of sockets or so, be sure to >> >>update it on OnClientConnect / OnClientDisconnect. Remember also that in >> >>OnClientDisconnect the datasocket in question is still there, it is >> >>called before it is destroyed (also the count argument). >> >> >> >>--- >> >>Rgds, Wilfried [TeamICS] >> >>http://www.overbyte.be/eng/overbyte/teamics.html >> >>http://www.mestdagh.biz >> >> >> >>Thursday, October 5, 2006, 09:06, Miguel Cañas wrote: >> >> >> >> > Hi >> >> >> >> > I am using TwSocketServer in a service application that receives >> >>information >> >> > from a POS Machine (using TCP) and I am having problems with the >>number >> >>of >> >> > clients that shows WSocketServerEx.ClientCount. In some cases >> >>clientcount >> >> > return more connections than the number of machines that I have >> >>connected to >> >> > the service. I am saving the client list in txt file and it shows >>this; >> >> >> >> > [04/10/2006 17:24:09:296] --D Activa[0] IP [] PORT [] >> >> > [04/10/2006 17:24:09:296] --D Activa[1] IP [] PORT [] >> >> > [04/10/2006 17:24:09:296] --D Activa[2] IP [] PORT [] >> >> > [04/10/2006 17:24:09:296] --D Activa[3] IP [10.10.10.237] PORT [2379] >> >> >> >> > What happen with the positions 0,1 and 2 that shows no port or ip?? >> >> >> >> > I have found this exception 2 segs before the addition of a new >> >>'emptyŽ(no >> >> > ip or port) connection and was capture in WSocketServerExBgException. >> >> >> >> > [04/10/2006 17:24:07:453] [ESocketException] Msg[Error 10038 in >>function >> >> > Disconnect (closesocket) >> >> > Socket operation on non-socket] >> >> >> >> > Is there a relationship between this exception and the addition of >>the >> >>new >> >> > empty connection? or I have to look for the error in another place. >> >> > Any help would be appreciated. >> >> >> >> > Thank you >> >> >> >> > Miguel Angel Cañas C. >> >> >> >> > >> _________________________________________________________________ >> >> > Express yourself instantly with MSN Messenger! Download today it's >>FREE! >> >> > http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ >> >> >> >> >> >>-- >> >>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 >> >> > _________________________________________________________________ >> > Express yourself instantly with MSN Messenger! Download today it's FREE! >> > http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ >> >> >>-- >>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 > _________________________________________________________________ > Express yourself instantly with MSN Messenger! Download today it's FREE! > http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ -- 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
