2

我需要做的:向 pool.ntp.org 发送一个数据包(我假设我会自动收到一个数据包)。

以下内容对我不起作用。我不知道自己在做什么,所以现在如果我能到达地址并取回数据包,我会很满意。下面的代码只是挂起。任何和所有的帮助将不胜感激。

require 'socket'
sock = UDPSocket.new
sock.connect("pool.ntp.org", 123)
sock.recvfrom(10)
4

1 回答 1

0

UDPSocket 上的文档指出:

connect(host, port) 
Connects udpsocket to host:port.

This makes possible to send without destination address.

这意味着您可以使用send(mesg, flags)的形式,仅此send而已。您需要向 NTP 服务器发送请求消息以获得回复

您可以在此处查看 NTPv4 协议规范:RFC 5905

于 2012-10-14T02:07:39.453 回答