Mercurial > hg > RemoteEditor > REPSessionManager
diff test/ServerSample.java @ 389:4b535bef903a
23
author | one@firefly.cr.ie.u-ryukyu.ac.jp |
---|---|
date | Mon, 10 Nov 2008 22:24:21 +0900 |
parents | 4ec3b70f8f09 |
children |
line wrap: on
line diff
--- a/test/ServerSample.java Mon Nov 10 22:23:02 2008 +0900 +++ b/test/ServerSample.java Mon Nov 10 22:24:21 2008 +0900 @@ -27,11 +27,13 @@ // (非ブロックモードに設定:重要) REPServerSocketChannel<REPCommand> serverSocketChannel = REPServerSocketChannel.<REPCommand>open(pack); serverSocketChannel.configureBlocking(false); - // この方法だと、IPv6 (Dual stack) 対応にならない.. - // このホストの全てのアドレスを取得して、それ全部に対して、socketを開けて、すべてに対して、 - // select する必要がある。 - //serverSocketChannel.socket().bind(new InetSocketAddress(5100)); - serverSocketChannel.socket().bind(new InetSocketAddress("::",5100)); + serverSocketChannel.socket().setReuseAddress(true); + try { + serverSocketChannel.socket().bind(new InetSocketAddress("::",5100)); + } catch (SocketException e) { + // some system does not support "::" + serverSocketChannel.socket().bind(new InetSocketAddress(5100)); + } // セレクタにサーバソケットチャンネルを登録。サーバへの受付を監視 serverSocketChannel.register(selector, SelectionKey.OP_ACCEPT);