Al utilizar Netty, me sorprendió que si la opción reuseAddress yo uso, que permite una ServerSocket de obligar a la misma dirección sin levantar una "excepción ya atar"ServerSocket reuseAddress permite enlazar a un puerto ya enlazado?
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));
Sólo pensé que reuseAddress permite un nuevo socket reutilizar un socket de espera cerrada, pero esto es diferente. El siguiente es el resultado de un comando 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
Me estoy perdiendo algo? ¿Que esta pasando?
sí, solo en windows, no en linux. – secmask