【问题标题】:Netty UDP Session ManagementNetty UDP 会话管理
【发布时间】:2014-04-14 12:12:25
【问题描述】:

我在使用 Netty 框架为 UDP 设置会话管理系统时遇到了一些问题。我对每个 UDP 远程客户端的新功能感到困惑。对于每个新的 UDP 远程客户端,该客户端是否会获得一个新的 ChannelPipelineFactory,或者是否为每个新的远程客户端创建一个新的 Channel?

我有 2 个端口,端口 161 和端口 162,它们都是 UDP 端口,它们都将从多个 UDP 客户端接收数据。如何区分客户?我开始基于DatagramPacket.sender()提供的RemoteAddress创建会话管理服务,但不知道附加到ChannelHandlerContext属性()链是否安全。

【问题讨论】:

    标签: java udp netty


    【解决方案1】:

    由于 UDP 连接较少,DatagramPacket.sender 将是您将消息路由到适当会话的唯一选项。概念上只有一个ChannelPipelineFactory,实际上只有一个Channel 用于应用程序的UDP。据我所知,附加ChannelHandlerContext 是不安全的。处理多个客户端的方法是使用Map,其中键为DatagramPacket.sender 地址,值为您的session

    【讨论】:

    • 谢谢,我认为这是解决问题的唯一方法,但不完全确定。
    猜你喜欢
    • 1970-01-01
    • 2011-04-03
    • 2015-06-07
    • 1970-01-01
    • 2012-10-11
    • 2011-04-29
    • 2011-10-22
    • 2011-08-01
    • 2012-11-12
    相关资源
    最近更新 更多