zoukankan      html  css  js  c++  java
  • Java实现Socket之TimeClient

    Java实现Socket之TimeClient

    代码内容

    • time.nist.gov服务器的37号端口得到时间信息,并对时间进行解析后显示出来

    代码实现

    /* TimeClient.java */
    import java.io.*;
    import java.net.*;
    import java.util.Date;
    
    public class TimeClient {
    	public final static long differenceBetweenEpochs = 2208988800L;
    
    	public static void main(String[] args) {
    		try {
    			/* 设置服务器地址和端口号 */
    			InetAddress host = InetAddress.getByName("time.nist.gov");
    			int port = 37;
    			if (args.length > 0) {
    				host  = InetAddress.getByName(args[0]);
    			}
    			/* 建立Socket连接 */
    			Socket s = new Socket(host, port);
    			/* 从Socket中读取数据 */
    			InputStream raw = s.getInputStream();
    			/* 时间转换 */
    			long secondsSince1900 = 0;
    			for (int i = 0; i < 4; i++) {
    				secondsSince1900 = (secondsSince1900 << 8) | raw.read();
    			}
    
    			long secondsSince1970 = secondsSince1900 - differenceBetweenEpochs;
    			long msSince1970 = secondsSince1970 * 1000;
    			Date time = new Date(msSince1970);
    			System.out.println("It is " + time);
    
    		} catch (UnknownHostException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    	}
    }
    

    运行截图

  • 相关阅读:
    软件工程结对作业02
    软件工程个人作业04
    第五周学习进度条
    软件工程中的形式化方法
    需求工程
    软件过程
    软件项目管理
    软件概论概述
    人月神话读后略有感想
    软件工程—理论、方法和实践 第一章:概述
  • 原文地址:https://www.cnblogs.com/wsine/p/5181593.html
Copyright © 2011-2022 走看看