题
我只是学习如何做到的网络和第一个简单的例子获取时间从一个NTP服务器保存投掷ConnectException.我会抄和粘贴的代码,但是我有感觉它必须的东西不代码相关的,因为这代码出来的一本书。
import java.io.*;
import java.net.*;
public class AskTime {
public static void main(String a[]) throws Exception {
if(a.length != 1) {
System.out.println("your lame");
System.exit(0);
}
String machine = a[0];
final int daytimeport = 13;
Socket so = new Socket(machine,daytimeport);
BufferedReader br = new BufferedReader(new InputStreamReader(so.getInputStream() ) );
String time = br.readLine();
System.out.printf("%s says it is %s %n", machine, time);
}
}
命令我用来执行这是:
java AskTime us.pool.ntp.org
更新: 在阅读msaeed的意见,我改变了口123,我现在被告知拒绝连接,而不是连接的超时。因此,我认为msaeed是正确的,没有任何人有任何想法什么别的我需要进行通信的收到时间?
解决方案
因此很明显,这个代码使用旧的 DAYTIME
协议 使用的口13。 NTP
协议 使用口123和需要更多的通信。很多 NTP
服务器停止支持 DAYTIME
查询。
NTP项目提供了一个样本代码 NTP
客户在Java 在这里,.
不隶属于 StackOverflow