![]() |
Re: Newbie question: how to keep a socket listening?
On Fri, 24 Jun 2005 21:21:34 -0400, Peter Hansen <peter@engcorp.com> wrote:
>ncf wrote: >> Heh, like I said. I was not at all sure. :P >> >> Nevertheless, could this be the problem? =\ > >You *may* correct, mainly because the OP's code doesn't appear to spawn >off new threads to handle the client connections, which means he can >handle only one connection at a time. Specifically, while he is talking >to one client he is not also in an accept() call on the server socket, >which means there will be (because of the listen(1) call) only a single >pending connection allowed in the backlog. > >I haven't attempted a thorough analysis... just this much, trying to see >whether it is obvious that the listen(1) is at fault -- and it's not >obvious. I thought this response might clarify the meaning of listen(1) >a little bit for some folks nevertheless. The argument to listen() is only a _hint_ to the TCP/IP stack. Linux, at least, will not create a buffer large enough for only a single connection. You can test this easily: create a socket, bind it to an address, call listen(1) on it, and *don't* call accept(). Telnet (or connect somehow) repeatedly, until your connection is not accepted. On my system (Linux 2.6.10), I can connect successfully 8 times before the behavior changes. Jp |
Re: Newbie question: how to keep a socket listening?
On 2005-06-25, Jp Calderone <exarkun@divmod.com> wrote:
> The argument to listen() is only a _hint_ to the TCP/IP stack. > Linux, at least, will not create a buffer large enough for > only a single connection. You can test this easily: create a > socket, bind it to an address, call listen(1) on it, and > *don't* call accept(). Telnet (or connect somehow) > repeatedly, until your connection is not accepted. On my > system (Linux 2.6.10), I can connect successfully 8 times > before the behavior changes. I had noticed that once upon a time. I had forgotten that 8 was the minimum, but I do remember that 1 didn't result in a second connect failing. -- Grant Edwards grante Yow! Ha ha Ha ha Ha ha at Ha Ha Ha Ha -- When will I visi.com EVER stop HAVING FUN?!! |
| All times are GMT. The time now is 06:32 AM. |
Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.