• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 460
  • Last Modified:

Closing web service client does not close connection - but can it be done manually?

When I close my web service client (by calling .Close( )  ) it does not close the underlying socket connection on the server, but leaves it in a TIME_WAIT state:

 TCP    [::1]:64844            [::1]:65119            TIME_WAIT       0

This is not a bug, it is by design.  Under normal conditions, this is not a problem.  But when the application is scaled up, we begin to experience problems because new connections are not being released fast enough to accommodate the new web service method calls.

My research has indicated that the minimum time setting "clean up" old socket connections is 30 seconds.

We've also doubled the number of available connections.

For now the doubling of the connections seems to be alleviating the problem.

We understand that the web service seems to not be able close the connection manually.

My question is - how might we close the connection manually?


I know that the reason the connection will not close sooner than it does is because it is waiting for any packets that may arrive out of order.  And, the OS wants to ensure that a packet intended for a connection that is closed does not get processed by a connection that is still open.

That works for the OS, but it does not work for our needs.  We are writing the code so we know when the work is done and the connection can be closed.  If we could reduce the amount of time below 30 seconds - say down to 5 seconds - that might be an okay alternative.


I want to explore this as an option.
0
Tom Knowlton
Asked:
Tom Knowlton
1 Solution
 
apeterCommented:
Hope you are calling async. calls as much as possible to manange the connection problems.
0
 
Tom KnowltonWeb developerAuthor Commented:
I can check on this.  The system has been in place for a while, so I would imagine this has been addressed at some point.
0

Featured Post

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now