【问题标题】:How to manage list of clients to send data in netty如何管理客户端列表以在netty中发送数据
【发布时间】:2014-08-13 06:17:08
【问题描述】:

可能有人问过类似的问题,但确实是一个不同的问题: How to send nessage to a client in netty

我刚刚启动了 Netty 和异步 I/O。

我想通过字符串映射客户端。当连接到我的服务器的客户端发送其 ID 字符串并且我想将该字符串与该客户端的 Socket/Channel 一起保存到地图中时。之后,当我想向客户端发送任何消息时,通过 ID 从映射中获取该客户端的 Socket/Channel 并发送它。

是否可以这样自己实现: 使用变量 ID-String 和 ChannelHandlerContext 对象创建我的 ClientData 类。

在 ChannelHandler 的 channelRead 方法中添加到地图,并从其他地方的地图中删除。

或者在Netty中还有其他方法吗?对于这个问题,您有什么建议?

任何帮助将不胜感激!

【问题讨论】:

    标签: java sockets netty tcp-ip


    【解决方案1】:

    是的,这应该是您可以做的事情。就像拥有一个 ConcurrentMap 并只是查找内容。

    【讨论】:

    • 感谢您的回答@Norman.. 但我无法在上面实现。在 ChannelInboundHandlerAdapter 我有: public void channelRead(ChannelHandlerContext ctx, Object msg) 实际上我不明白什么是 msg 类型?我试图转换为字符串,但它不是字符串。哪个 netty 示例最适合我的实现?聊天服务器?
    • msg 的类型取决于客户端发送的内容。您的客户是否发送字符串?
    • 它是“字符串”,我在 telnet 示例中使用了“channelRead0”(netty4)方法。这对我来说没问题。谢谢 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-10
    • 1970-01-01
    • 2011-11-16
    • 2015-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多