[ECOS] TCP Transactions
Mon Oct 20 23:27:00 GMT 2003
I'm developing an application that sends small
transactions via TCP. The basic flow is 1) Bring up
the connection 2) Send request 3) Get response 4)
Bring down the connection. Simple enough ...
But, when running any volume of transactions, all my
socket file descriptors get stuck in TIME_WAIT state.
When this occurs, my application is effectively
disabled until a file descriptor times out.
I see at least 3 possible fixes:
1) Turn on RFC1644 support (TCP extensions for
transactions). But it appears as if RFC1644 support
in the FreeBSD stack is not complete. I'm also
skeptical of support of RFC1644 in other OSs that my
application will be taking to.
2) Allocate more than enough sockets
(CYGPKG_NET_MAXSOCKETS) so that I'll always have some
available. However, this is wasteful of RAM space.
3) Change the MSL timeout from 30sec to something
smaller. Is there any interest in making the MSL
timer something configurable?
Any other thoughts are greatly appreciated,
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss
More information about the Ecos-discuss