Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Android获取原子时间_Android - Fatal编程技术网

使用Android获取原子时间

使用Android获取原子时间,android,Android,我正在使用以下代码从Android设备的AtomicTime服务器连接并检索UTC时间: public static final String ATOMICTIME_SERVER="http://132.163.4.101:13"; BufferedReader in = null; try { URLConnection conn = new URL(ATOMICTIME_SERVER).openConnection(); in = new BufferedReader(n

我正在使用以下代码从Android设备的AtomicTime服务器连接并检索UTC时间:

public static final String ATOMICTIME_SERVER="http://132.163.4.101:13";
BufferedReader in = null;

try 
{
    URLConnection conn = new URL(ATOMICTIME_SERVER).openConnection();
    in = new BufferedReader(new InputStreamReader(conn.getInputStream()));

    String atomicTime;
    while (true) 
   {
      if ( (atomicTime = in.readLine()).indexOf("*") > -1) 
      {
         break;
      }
   }

   ... do something
}
catch ...
它不返回任何数据。从浏览器访问URL时,我们会得到以下信息:

55884 11-11-19 07:40:22 00 0 824.5 UTC(NIST)


有人能帮忙吗?

这是因为TCP端口13上没有HTTP服务。有日间服务。您应该使用套接字而不是URLConnection。或者可以为Android找到一些NTP实现

String atomicTime = "";
try 
{
    Socket socket = new Socket("132.163.4.101", 13);
    BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

    in.readLine(); // Ignore leading blank line
    atomicTime = in.readLine();
    socket.close();
} 
catch....