最初通过qq时间服务器获得时间,经常出现有网络也获取失败的情况. 后面寻找解决办法,查找资料终于发现通过ntp时间服务器获取网络时间的方法. 首先游戏开始获得初始化网络时间,通常只获取一次,其他时间获取时间通过本地时间差加上初始网络时间获得当前时间. GetCurrentTime()获取当前时间,GetDay()获得当前天数整点. 代码如下: using System.Collections; using System.Collections.Generic; using UnityEn
通过TCP形式来获取NTP时间.主要代码如下: [DllImport("kernel32.dll")] private static extern bool SetLocalTime(ref Systemtime time); [StructLayout(LayoutKind.Sequential)] private struct Systemtime { public short year; public short month; public short dayOfWeek; pu
public static DateTime GetInternetDate() { var client = new TcpClient("time.nist.gov", 13); using (var streamReader = new StreamReader(client.GetStream())) { var response = streamReader.Read
最近项目中涉及到一个时间验证的问题,需要根据当前时间来验证业务数据是否过期.所以直接写代码如下: new java.util.Date().getTime(); 结果测试的时候出现了问题,怎么验证都是过期.后来发现是服务器主机时间不对.也就是说如果服务器时间不准确或者被篡改,那么验证这部分会出现问题.所以决定采用获取网络当前时间来代替获取系统当前时间. 搜索了一下,原来获取网络时间有一个协议:Network Time Protocol(NTP: 网络时间协议 ).