【问题标题】:How to send nessage to a client in netty如何在netty中向客户端发送消息
【发布时间】:2014-06-10 06:12:59
【问题描述】:

我是 Netty 初学者,正在努力管理客户列表。我在客户端连接时保存了设备 ID 和设备名称,当另一个客户端想要通过设备 ID 向客户端发送消息时,我该如何处理?我已经看到了如何使用 ChannelGroup 保存连接的客户端的示例。但它仅适用于频道,它具有attributeKey,但用途不同。我只是映射或列出而不是 ChannelGroup 吗?有什么好主意吗? 您的回答将不胜感激。

【问题讨论】:

    标签: netty


    【解决方案1】:

    您可以实现自己的 ChannelGroup,以不同的方式存储客户并让您通过 ID 找到客户。但是由于您只想将消息中继到一个连接的客户端,因此我认为使用组没有多大意义。据我了解,ChannelGroups 应该使广播消息更容易。 我认为以 ID 为键的简单 HashMap 就足够了。

    【讨论】:

    • 感谢您的回答。我认为 ChannelGrop 只是为了未来的目的。
    • 您能否解释一下“我认为以 ID 为键的简单 HashMap 就足够了。”? HashMap 将存储一个包含 ID 和什么的对象? ChannelHandlerContext 还是别的什么?
    • HashMap<String, Channel> channelMap 例如。如果要将其发送给单个客户端,则从地图中检索相应的频道,然后只需 writeAndFlush
    • ConcurrentHashMap 会更好
    猜你喜欢
    • 2015-04-07
    • 2017-10-26
    • 2017-03-08
    • 2019-01-26
    • 1970-01-01
    • 2013-05-20
    • 1970-01-01
    • 2019-04-29
    • 1970-01-01
    相关资源
    最近更新 更多