每个SelectionKey(或SelectionKeyImpl)是否都有一个我可以使用的唯一标识符(id)?

时间:2012-03-22 03:31:11

标签: java sockets networking nio nonblocking

我需要为每个SelectionKey分配一个唯一的ID。我可以使用SelectionKeyImpl中的一些内部ID吗?我可以使用FD作为示例,但我不相信每个SelectionKey我将始终是唯一的。

2 个答案:

答案 0 :(得分:1)

SelectionKey中没有FD。您可以通过底层频道访问FD,但频道可能有多个SelectionKeys,因此对您没用。你所拥有的就是SelectionKey自己的身份。

答案 1 :(得分:1)

您可以使用自己的ID(例如java.util.UUID)并通过SelectionKey.attach(Object)将它们附加到键,或者使用Selector注册通道