Netty UDP 服务器 Bootstrap
Netty UDP Server Bootstrap
我发现所有 Netty 4.0 的 TCP 服务器实现都使用服务器Bootstrap 实例。
The biggest and only difference between a server and a client in
Netty is that different Bootstrap and Channel implementations are
used. Please take a look at the following code:
netty docu 谈论 TCP 客户端。
但是对于 UDP,这个引用似乎无关紧要?!我找到了仅使用 Bootstrap 的 UDP 服务器示例,例如:1, , 3
我对此很困惑,所以我的两个 问题 是:
- Bootstrapclass 是实现 UDP 服务器的正确入口点吗? 或者我可以使用 ServerBootstrap 吗?
- 为什么TCP有NioServerSocketChannel.class和NioSocketChannel.class,而UDP只有NioDatagramChannel.class(没有NioServerDatagramChannel.class)?
对于 Netty 3.x 显示了无连接Bootstrap here 但是对于 4.0 我找不到类似的东西。
根据我的发现:Bootstrap 是 Netty 中 UDP 服务器的正确入口点 4.x
并且不需要NioServerDatagramChannel,因为UDP服务器为所有客户端打开一个通道。
- ServerBootstrap 允许多个客户端通过其通道进行连接。因此 TCP 有一个专用的 ServerSocketChannel。
- Bootstrap 用于为单个连接创建通道。因为 UDP 为所有客户端提供一个通道,所以只需要 Bootstrap 是有意义的。所有客户端都绑定到同一个频道。
我发现所有 Netty 4.0 的 TCP 服务器实现都使用服务器Bootstrap 实例。
The biggest and only difference between a server and a client in Netty is that different Bootstrap and Channel implementations are used. Please take a look at the following code:
netty docu 谈论 TCP 客户端。
但是对于 UDP,这个引用似乎无关紧要?!我找到了仅使用 Bootstrap 的 UDP 服务器示例,例如:1,
我对此很困惑,所以我的两个 问题 是:
- Bootstrapclass 是实现 UDP 服务器的正确入口点吗? 或者我可以使用 ServerBootstrap 吗?
- 为什么TCP有NioServerSocketChannel.class和NioSocketChannel.class,而UDP只有NioDatagramChannel.class(没有NioServerDatagramChannel.class)?
对于 Netty 3.x 显示了无连接Bootstrap here 但是对于 4.0 我找不到类似的东西。
根据我的发现:Bootstrap 是 Netty 中 UDP 服务器的正确入口点 4.x
并且不需要NioServerDatagramChannel,因为UDP服务器为所有客户端打开一个通道。
- ServerBootstrap 允许多个客户端通过其通道进行连接。因此 TCP 有一个专用的 ServerSocketChannel。
- Bootstrap 用于为单个连接创建通道。因为 UDP 为所有客户端提供一个通道,所以只需要 Bootstrap 是有意义的。所有客户端都绑定到同一个频道。