【问题标题】:Netty UDP Server BootstrapNetty UDP 服务器引导
【发布时间】:2016-06-07 21:47:16
【问题描述】:

我发现所有使用 Netty 4.0 的 TCP 服务器实现都使用了 ServerBootstrap 实例。

服务器和客户端之间最大也是唯一的区别 Netty 是不同的 Bootstrap 和 Channel 实现是 用过的。请看下面的代码:

netty docu 谈论 TCP 客户端。


但是对于 UDP,这句话似乎无关紧要?!我找到了仅使用 Bootstrap 的 UDP 服务器的示例:123

我对此感到很困惑,所以我的两个问题是:

  • Bootstrap 类是实现 UDP 服务器的正确入口点吗? 或者我可以使用 ServerBootstrap 吗?
  • 为什么 TCP 有 NioServerSocketChannel.class 和 NioSocketChannel.class,而 UDP 只有一个 NioDatagramChannel.class(没有 NioServerDatagramChannel.class)?

对于 Netty 3.x,有显示的 ConnectionlessBootstrap here,但对于 4.0,我找不到类似的东西。

【问题讨论】:

    标签: udp netty


    【解决方案1】:

    根据我的发现:Bootstrap 是 Netty 4.x 中 UDP 服务器的正确入口点

    并且不需要 NioServerDatagramChannel,因为 UDP 服务器为所有客户端打开一个通道。

    • ServerBootstrap 允许许多客户端通过其通道进行连接。因此 TCP 有一个专用的 ServerSocketChannel。
    • Bootstrap 用于为单个连接创建通道。因为 UDP 对所有客户端都有一个通道,所以只需要 Bootstrap 是有道理的。所有客户端都绑定到同一个频道。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-22
      • 2019-03-26
      • 2012-11-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多