2012-09-17 (月)
Javaのjava.nio.channels.DatagramChannelのリファレンス見ると受信時のタイムアウトをサポートしてるって書いてあるのだけど,setSoTimeout()してもなぜか無視されてしまうな.channelからDatagramSocketを取得して受信するとちゃんとタイムアウトする.何が違うんだろう.
少し調べた感じでは,DatagramSocketのsetSoTimeout()で指定したタイムアウトはDatagramSocket内で処理されてしまっていて,DatagramChannelには影響しないっぽい?