2012-01-07 77 views
0

我想写使用Java NIO异步UDP服务器, 我的问题是要找到像IP地址或财产以后这样每个客户端的标识符。 根据这篇文章:HTTP://thushw.blogspot.com/2011/06/asynchronous-udp-server-using-java-nio.html 在UDP没有与所有客户沟通只有一个插座,我想持有一个Hushtable,可以将每个客户端的数据保存在buuffers中。类似于(IP,ClientBuffer)。 对于特定客户端正在发送的数据的每次接收,我想将其添加到他的缓冲区中。我注意到在datagramPacket中我可以通过datagramPacket.getSocketAddress()方法来recive IP,但我没有找到从chanel获取datagramPacket的方式,我们只获取数据,而不是整个包与地址。使用Java NIO的异步UDP服务器 - 如何识别客户端?

在此先感谢! Rivka :)

回答

0

您只能使用DatagramChannel.read()方法,如果它连接到客户端,所以你必须已经知道远程地址:端口。否则,当您在DatagramPacket中获得远程ip:端口时,您必须拨打。所以无论你如何拥有它。