rdate指令的使用

过于无用,故作废

这个纯粹是用来玩的。用Netty开发了一个简单的时间服务,然后想用rdate去访问这个服务:


rdate -p 192.168.28.118

# 输出
rdate: [192.168.28.118]	Sat Aug 21 04:03:48 2021

Netty核心代码如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18

@Override
public void channelActive(ChannelHandlerContext ctx) throws Exception {
    final ByteBuf time = ctx.alloc().buffer(4);

    time.writeInt((int) (System.currentTimeMillis() / 1000L + 2208988800L));

    ChannelFuture writeFuture = ctx.writeAndFlush(time);

    writeFuture.addListener(new ChannelFutureListener() {
        @Override
        public void operationComplete(ChannelFuture future) throws Exception {
            assert writeFuture == future;
            ctx.close();
        }
    });
}

这里面遇到的问题是:貌似我Linux上的rdate不能指定端口,所以我需要监听在37号端口。

参考资料

  1. Writing a Time Server 写个时间服务器