2014-02-13 214 views
1

我想要使用RFC 868中找到的時間協議來獲得時間。 我正在使用python來做到這一點。 這裏是我的代碼:時間服務器網絡

import socket 
server = "time.nist.gov" 
port = 37 
receive_buffer_size = 4096 

mysocket = socket.socket(socket.AF_INET,socket.SOCK_STREAM) 

mysocket.connect((server, port)) 

response_string = mysocket.recv(receive_buffer_size) 

mysocket.close 

print response_string 

我應該得到一個32位的數字,但我得到的垃圾! 任何想法問題在哪裏?

+0

你會收到一個32位二進制數到4k的緩衝區和打印整個緩衝區。大部分將是垃圾。僅檢查_first四個字節_。 – 2014-02-13 06:39:36

+0

@MikeW感謝您的回答。你能告訴我該怎麼做嗎?減少緩衝區的大小是否足夠? – user3289975

回答

1

我相信你得到了RAW數據

試試這個:

data, = struct.unpack('!I', response_string) 
print "%x " %data