Yeah, that should work. Feel free to open a JIRA issue for improving
this by making our use of  SO_REUSEADDR configurable.

/niklas

On Fri, Apr 17, 2009 at 12:02 PM, Francis De Brabandere
<[email protected]> wrote:
> yep we're working on windows XP, thanks for the link
>
> this is what i'm doing right now... ugly but it works
>
>        /**
>         * Throws an exception if we can connect to the port
>         * @throws FtpException
>         */
>        private void checkForOtherServer(final int port) throws FtpException{
>                try {
>                        Socket sock = new Socket("localhost", port);
>                        sock.close();
>                        throw new FtpException("An other server is running on 
> port "+port);
>                } catch (UnknownHostException e) {
>                        throw new FtpException(e.getMessage(), e);
>                } catch (IOException e) {
>                        logger.debug("No other server running.");
>                }
>        }
>
> On Fri, Apr 17, 2009 at 11:48 AM, Niklas Gustavsson
> <[email protected]> wrote:
>> On Fri, Apr 17, 2009 at 11:37 AM, Francis De Brabandere
>> <[email protected]> wrote:
>>> I start up a ftp server in my unit tests. But I want to make sure
>>> there is only one instance running on a port, starting a second server
>>> on the same port should fail (throw an exception).
>>>
>>> Right now the second server starts up without errors but making a
>>> connection to the port used gives me the first server...
>>
>> I'm guessing this is on WIndows? Windows has a weird (or wrong)
>> treatment of SO_REUSEADDR. You can read more about it here:
>> http://msdn.microsoft.com/en-us/library/ms740621(VS.85).aspx
>>
>> This has been discussed here before, but with no good resolution. One
>> possibility is that we could make our use of SO_REUSEADDR
>> configurable.
>>
>> /niklas
>>
>
>
>
> --
> http://www.somatik.be
> Microsoft gives you windows, Linux gives you the whole house.
>

Reply via email to