On Fri, 27 Feb 2004 22:35:48 GMT, Rick Jones <(E-Mail Removed)>
wrote:
>> The second application is what Arkady suggested: to fine-tune the
>> backlog parameter.
>I tend to think of a backlog parameter as being a rather binary thing
>- it is either large-enough, or it is not. I don't tend to think of a
>backlog parameter as being "too large" (at least in the context of
>general as opposed to embedded systems) as my understanding is that it
>is a limit, not a pre-allocation of some sort. So I tend to just go
>with "make the thing huge" (1024 or 2048 or 4096) and be done with it.
Perhaps it *would* make sense to not-make-it-too-large to impose a
limit on the number of system resources a given app can take (a limit
on the number of established connections not yet accept()ed).
However, it could only make sense to do this on systems that drop
incoming connection requests when the listening queue is full. Thus,
the client's SYN would be retransmitted some time later, when the
listening queue is hopefully not full anymore. As, it would be the
sending TCP that would retry the connection establishment, it would be
transparent to both the client app and the user.
IIRC, Windows responds with an RST when the listening queue is full
some many clients would probably give up rather than trying to
establish the connection some time later.
--
Fernando Gont
e-mail:
(E-Mail Removed)
[To send a personal reply, please remove the ANTISPAM tag]