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 に答える