2

我正在尝试在 Netty 4.0 中实现一个通过 TCP/IP 套接字与客户端通信的服务器应用程序。建立连接后,客户端将建立初始连接。服务器将每 X 分钟向客户端发送一个 ping 消息,每个客户端的 X 可以不同。一旦客户端成功获得“ping”,客户端将尝试将文件上传/传输到服务器。服务器接收文件,并将其写入磁盘。

我想知道在 Netty 中执行此操作的最佳方法是什么,主要是调度部分(以 cron 为基础发送 ping 消息并接收文件)

我在网上环顾四周,发现有一个 Uptime ClientHandler 示例可以及时连接到服务器,但那是一个客户端,它也在 ClientBootstrap 中使用某种方法(https://github.com/netty/netty/ blob/master/example/src/main/java/io/netty/example/uptime/UptimeClientHandler.java#L78

我还找到了http://netty.io/4.0/api/io/netty/util/HashedWheelTimer.html,但找不到任何有用的示例来详细说明 Netty 4.0 中的用法。

任何帮助将不胜感激,非常感谢!!

4

1 回答 1

3

基本上,您要么使用IdleStateHandler和 ChannelStateHandler 实现,它们将对 IdleStateEvent 做出反应,要么直接使用 Channel 的 eventLoop。

例如 eventLoop 的用法可能是这样的:

Channel channel = ...
channel.eventLoop().schedule(new PingTask, delay, time unit);
于 2013-05-27T04:31:32.357 回答