Hello Miguel,

No not configuration. the socket handle is probably somewhere
overwritten. Please check carefull all variable usage, and specially
arrays that may got overrun.

> My TWsocketServer object :

>     LocalAddr = '0.0.0.0'//set in runtime
>     LocalPort = '0' //set in runtime

Try to not set it, you never know. However I dont think it can cause the
behavour you have.

>     OnDataSent = WSocketServerExDataSent
>     OnSessionClosed = WSocketServerExSessionClosed

Set this in comment as it will never fire on server socket.

---
Rgds, Wilfried [TeamICS]
http://www.overbyte.be/eng/overbyte/teamics.html
http://www.mestdagh.biz

Thursday, October 12, 2006, 06:58, Miguel Cañas wrote:

> Hi Wilfried

> Sorry but I didn-t have time to do a test program, I am in a dead line and I
> have another errors to fix too but this one is critical to me because the
> service is starting to loose connections.

> Let me explain better:

> 1.    The connections Startt to grow because of the processing time, the 
> service is processing as fast as possible.
> 2.    I have like 50 to 60 connections in the client list 
> (Wsocketserver.clientcount)
> 3.    I have the first Error 10038 in function Disconnect (closesocket) Socket
> operation on non-socket
> 4.    I’m using TcpView
> (http://www.sysinternals.com/Utilities/TcpView.html) 
> and I saw that the new connection got into the list of the program but next
> disappeared and my program didn’t run the onConnect event, at least no t the
> part that is into my program.
> 5.    After that I saw the connection with no IP no port info and the Hsokcet
> value = -1.

> Could it  be a configuration problem ? in the TWsocket server ? or in the
> server PC?

> My TWsocketServer object :

>     LineMode = False
>     LineLimit = 65536
>     LineEnd = #13#10
>     LineEcho = False
>     LineEdit = False
>     Proto = 'tcp'
>     LocalAddr = '0.0.0.0'//set in runtime
>     LocalPort = '0' //set in runtime
>     LastError = 0
>     MultiThreaded = False
>     MultiCast = False
>     MultiCastIpTTL = 1
>     ReuseAddr = False
>     ComponentOptions = []
>     ListenBacklog = 1000 //s
>     ReqVerLow = 1
>     ReqVerHigh = 1
>     OnDataSent = WSocketServerExDataSent
>     OnSessionClosed = WSocketServerExSessionClosed
>     OnBgException = WSocketServerExBgException
>     FlushTimeout = 60
>     SendFlags = wsSendNormal
>     LingerOnOff = wsLingerOn
>     LingerTimeout = 0
>     KeepAliveOnOff = wsKeepAliveOnSystem
>     KeepAliveTime = 30000
>     KeepAliveInterval = 1000
>     SocksLevel = '5'
>     SocksAuthentication = socksNoAuthentication
>     BannerTooBusy = 'Sorry, too many clients'
>     MaxClients = 300
>     OnClientDisconnect = WSocketServerExClientDisconnect
>     OnClientConnect = WSocketServerExClientConnect


> 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: 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

> _________________________________________________________________
> 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

Reply via email to