windows: Don't set SO_REUSEADDR on server socket

On Unix the SO_REUSEADDR socket option allows to rebind sockets in
CLOSE-WAIT state. This is a desired effect.

On Windows SO_REUSEADDR allows to rebind sockets in any state. This is
dangerous. Therefore, don't set SO_REUSEADDR on Windows. Sockets can
be rebound in CLOSE-WAIT state on Windows by default.
Replace while (1) with for (;;) to avoid compiler warning

The MSVC compiler warns about a constant expression.