On Sun, 2006-02-05 at 15:23 +0100, Nicolas Cannasse wrote:
> >
> > nekotools server dont work with or without parameters.
>
> Always a bind error ?
Are you sure this is a Neko problem??
Rebinding the same port within a few minutes always causes an error,
unless you make it reusable. The timeout is probably a security
measure .. it can be quite long (up to 20 minutes).
Are you getting one of these?
EINVAL The socket is already bound to an address (LINUX)
EADDRNOTAVAIL (BSD), EADDRINUSE (BSD)
This almost always happens when you start server .. it dies,
and you restart it at the same address immediately. This option
is required to prevent that
SO_REUSEADDR
Indicates that the rules used in validating addresses
supplied in a bind(2) call should
allow reuse of local addresses. For PF_INET sockets this
means that a socket may bind,
except when there is an active listening socket bound to
the address. When the listen‐
ing socket is bound to INADDR_ANY with a specific port
then it is not possible to bind
to this port for any local address.
Note also:
SO_LINGER
Sets or gets the SO_LINGER option. The argument is a
linger structure.
struct linger {
int l_onoff; /* linger active */
int l_linger; /* how many seconds to linger for */
};
When enabled, a close(2) or shutdown(2) will not return
until all queued mes‐
sages for the socket have been successfully sent or the
linger timeout has been
reached. Otherwise, the call returns immediately and the
closing is done in the
background. When the socket is closed as part of exit(2),
it always lingers in
the background.
PS sorry about the formatting.
--
John Skaller <skaller at users dot sf dot net>
Felix, successor to C++: http://felix.sf.net
--
Neko : One VM to run them all
(http://nekovm.org)