3

使用 NIO,如何在同一台机器上注册多个客户端连接以侦听同一端口。

第一个频道我有这样的东西......

channel1 = DatagramChannel.open();
channel1.configureBlocking(false);
channel1.socket().bind(new InetSocketAddress(localPort));
channel1.connect(socketAddress);
SelectionKey key1 = channel1.register(readSelector, SelectionKey.OP_READ);
key1.attach(driverHandler1);

现在我如何配置 channel2 来监听同一个端口,因为我不能再次绑定()。

4

1 回答 1

1

在绑定每个通道之前,您必须为每个 N 调用 channelN.socket().setReuseAddress(true)。然后您可以将它们全部绑定。

于 2013-02-06T23:24:43.877 回答