title: How to get remoteAddress() of NIO DatagramChannel
body: <p>I am writing some client code using NIO to listen for UDP packets from multiple servers (many of which are configured to reply to the same port). I failed in my attempt to have dedicated channels to each known server <a href="https://stackoverflow.com/questions/14753293/nio-2-clients-binding-to-same-port-only-1-can-read">NIO. 2 clients binding to same port, only 1 can read</a>.</p>
  
  <p>So I am now trying to bind to a port without specifying a destination</p>
  
  <pre><code>DatagramChannel channel = DatagramChannel.open();
  channel.configureBlocking(false);
  channel.socket().bind(new InetSocketAddress(port));
  </code></pre>
  
  <p>My selector now successfully receives all UDP packets directed to this port from all my servers</p>
  
  <pre><code>...    
    SelectionKey selKey = it.next();
    if (selKey.isValid() &amp;&amp; selKey.isReadable()) {
      DatagramChannel sChannel = (DatagramChannel) selKey.channel();
      sChannel.getRemoteAddress();//My problem lies here
   ....
  </code></pre>
  
  <p>As expected sChannel.getRemoteAddress() returns null because I didnt configure it. So how do I determine where this packet originated?</p>