Netty UDP服务器引导程序

时间:2016-06-06 11:24:00

标签: udp netty

使用Netty 4.0的所有TCP Server实现我发现使用了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,显示了here的ConnectionlessBootstrap,但对于4.0,我找不到类似的东西。

1 个答案:

答案 0 :(得分:3)

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

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

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