我只是在学习如何在 Java 中进行网络连接,而第一个从 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 是对的,有人知道我还需要沟通什么来接收时间吗?