ServerSocket reuseAddress разрешить привязку к уже привязанному порту?

При использовании Netty , Я был удивлен тем, что если я использую опцию reuseAddress, она позволяет ServerSocket связываться с тем же адресом, не вызывая «уже привязанное исключение»

        ServerBootstrap bootstrap = new ServerBootstrap(
                new NioServerSocketChannelFactory(Executors
                        .newCachedThreadPool(), Executors.newCachedThreadPool()));
        bootstrap.setPipelineFactory(new ChannelPipelineFactory() {
            @Override
            public ChannelPipeline getPipeline() throws Exception {
                ChannelPipeline p = pipeline();
                p.addLast("handler", new DummyHandler());
                return p;
            }
        });
        bootstrap.setOption("reuseAddress", true);
        bootstrap.bind(new InetSocketAddress(2000));
        bootstrap.bind(new InetSocketAddress(2000));

. Я просто подумал, что reuseAddress позволяет новому сокету повторно использовать сокет с закрытым ожиданием, но это отличается. Ниже приводится результат выполнения команды netstat

  C:\Users\secmask>netstat -a -n|grep 2000
  TCP    0.0.0.0:2000           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:2000           0.0.0.0:0              LISTENING

Я что-то упускаю? Что происходит?

6
задан naugler 16 January 2014 в 17:55
поделиться