【发布时间】:2014-06-10 06:12:59
【问题描述】:
我是 Netty 初学者,正在努力管理客户列表。我在客户端连接时保存了设备 ID 和设备名称,当另一个客户端想要通过设备 ID 向客户端发送消息时,我该如何处理?我已经看到了如何使用 ChannelGroup 保存连接的客户端的示例。但它仅适用于频道,它具有attributeKey,但用途不同。我只是映射或列出而不是 ChannelGroup 吗?有什么好主意吗? 您的回答将不胜感激。
【问题讨论】:
标签: netty
我是 Netty 初学者,正在努力管理客户列表。我在客户端连接时保存了设备 ID 和设备名称,当另一个客户端想要通过设备 ID 向客户端发送消息时,我该如何处理?我已经看到了如何使用 ChannelGroup 保存连接的客户端的示例。但它仅适用于频道,它具有attributeKey,但用途不同。我只是映射或列出而不是 ChannelGroup 吗?有什么好主意吗? 您的回答将不胜感激。
【问题讨论】:
标签: netty
您可以实现自己的 ChannelGroup,以不同的方式存储客户并让您通过 ID 找到客户。但是由于您只想将消息中继到一个连接的客户端,因此我认为使用组没有多大意义。据我了解,ChannelGroups 应该使广播消息更容易。 我认为以 ID 为键的简单 HashMap 就足够了。
【讨论】:
HashMap<String, Channel> channelMap 例如。如果要将其发送给单个客户端,则从地图中检索相应的频道,然后只需 writeAndFlush
ConcurrentHashMap 会更好