From: Wilfried Mestdagh <[EMAIL PROTECTED]>
Reply-To: ICS support mailing <twsocket@elists.org>
To: ICS support mailing <twsocket@elists.org>
Subject: Re: [twsocket] TWsocket server client list Error
Date: Fri, 6 Oct 2006 12:35:51 +0200
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 <twsocket@elists.org>
>>To: twsocket@elists.org
>>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 <twsocket@elists.org>
>> >>To: ICS support mailing <twsocket@elists.org>
>> >>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