Hello Dod, I know the socket is closed because the TWSocket OnSessionClosed() event fires. There are no proxies because the external device is on the Intranet (same router and network) as the PC. It's a local peer connection.
Robert. --- On Thu, 4/5/12, Dod <do...@yahoo.com> wrote: > From: Dod <do...@yahoo.com> > Subject: Re: [twsocket] TWSocket closing after every transaction with > external HTTP server > To: "ICS support mailing" <email@example.com> > Date: Thursday, April 5, 2012, 5:36 AM > Hello, > > How do you now socket has been closed ? have you done some > tcpdump > compare between wroking and non-working system ? > > May be some users are going out thru a proxy that remove > the > keep-alive ? > > regards. > > r> Hello, > > r> I have a Delphi 6 application that talks to an > external device that acts as an HTTP server. I am using the > ICS TWSocket components for this application. I open up a > socket to talk to the device > r> and handle the necessary header and body crafting to > talk to the server. In other words, I am not using the ICS > HTTP client component but using the lower level TWSocket > component and handling the > r> necessary HTTP "handshaking" myself. > > r> The headers I craft and send to the external device > have the keep-alive flag set to TRUE. On my system, after I > send anything to the external device, the connection will > stay open continuously and > r> will not close until approximately 30 seconds of > inactivity occurs (30 seconds where I don't make any > requests of the external device as an HTTP server). I don't > know if the external device closes > r> it or if Microsoft Windows does it. But the important > point is that normally I can do multiple sends and the > connection will stay open until I send nothing for about 30 > seconds. This works fine > r> and is what my code expects. > > r> However, on some of my users systems the socket is > closing after every send. I do have code that checks for a > closed socket and attempts a reconnect to the external > device if necessary, but does > r> not expect to have to do a reconnect with each > transaction. > > r> My questions are: > > r> Is there a system setting for sockets that might be > causing this anomalous behavior on some users systems? > > r> If so, are there Windows API function calls I can use > to query the offending parameter and then set it to the > expected close on 30 seconds of inactivity instead of with > each transaction? > > r> If so, can I, or how do I do it in a manner that will > not adversely affect any other programs running on the users > system? > > r> Thanks, > r> Robert > r> -- > r> To unsubscribe or change your settings for TWSocket > mailing list > r> please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket > r> Visit our website at http://www.overbyte.be > > -- > To unsubscribe or change your settings for TWSocket mailing > list > please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket > Visit our website at http://www.overbyte.be > -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be