C# NTP 時鐘同步,獲取指定IP地址的系統時間及錯誤問題解決。
為了實現內網間機子的時鐘同步,需要用到NTP協議的,所以做了一下這方面工作。
實現獲取指定IP系統時間的程式碼在網上有現成的:
呼叫的方法如下:var client = new SNTPTimeClient("127.0.0.1", "123"); client.Connect(); DateTime getEd = client.ReceiveTimestamp;//獲取指定IP的系統時間 var st = new SystemTime { wDay = (ushort)getEd.Day, wDayOfWeek = (ushort)getEd.DayOfWeek, wHour = (ushort)getEd.Hour, wMiliseconds = (ushort)getEd.Millisecond, wMinute = (ushort)getEd.Minute, wMonth = (ushort)getEd.Month, wSecond = (ushort)getEd.Second, wYear = (ushort)getEd.Year }; SNTPTimeClient.SetLocalTime(ref st);//設定本地時間
注:
1、NTP基於UDP報文進行傳輸,使用的UDP埠號為123。
2、指定的IP可以是公網的IP,下面是一些網路上提供的時間伺服器IP地址。
210.72.145.44
203.117.180.36
131.107.1.10
64.236.96.53
130.149.17.21
66.92.68.246
18.145.0.30
137.92.140.80
133.100.9.2
128.118.46.3
210.72.145.44(中國國家授時中心伺服器IP地址)
202.120.2.101 (上海交通大學網路中心NTP伺服器地址)
3、也可以內網區域網的,但是我測試的時候,出現了以下幾個錯誤(win7下的操作):
1、遠端主機強迫關閉了一個現有的連線。
解決辦法:執行 -- services.msc -- 找到Windows Time並開啟。你也可以設定他的屬性為自動的。
2、由於連線方在一段時間後沒有正確答覆或連線的主機沒有反應,連線嘗試失敗。
解決辦法:
1、有可能是指定IP的主機的NTP服務沒有開啟,執行 -- gpedit.msc -- 計算機配置 -- 管理模版 -- 系統 -- windows時間服務 --時間提供程式,在右側找到“啟用 Windows NTP 伺服器”雙擊選擇--“已啟用”-- 確定,可以參照下面給出下載連結裡的PDF檔案。
2、有可能是指定IP的主機的Windows Time服務沒有開啟。解決方法如上面。
3、有可能是指定IP的主機的防火牆阻止了123埠,控制面板--防火牆--入站規則--右側一欄點選新建規則--埠--UDP--特定本地埠:123-- 允許連結--全選--隨便取個名字。確定開啟。
下載內容(大部分本文已給出):
1、SNTP時鐘同步,獲取指定IP主機系統時間並設定本地時間的程式原始碼。
2、客戶端呼叫方法。
3、winXP及win7下開啟NTP服務方法.pdf
4、NTP協議格式(中文).doc
相關推薦
C# NTP 時鐘同步,獲取指定IP地址的系統時間及錯誤問題解決。
為了實現內網間機子的時鐘同步,需要用到NTP協議的,所以做了一下這方面工作。 實現獲取指定IP系統時間的程式碼在網上有現成的: 呼叫的方法如下: var client = new SNTPTimeClient("127.0.0.1", "123"); client.
獲取指定時間斷系統時間
package com.vodone.subwayzero.util;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.Greg
通過 ARP 協議獲取區域網內指定 IP 地址的機器的 MAC 地址
unit Unit5; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,WinSock;
Linux下編程獲取本地IP地址的常見方法
print 拓撲 htons 技術 ams 輸出 per arpa res 轉載於:http://blog.csdn.net/k346k346/article/details/48231933 在進行linux網絡編程時,經常用到本機IP地址。本文羅列一下常見方法,以備
獲取請求主機IP地址,如果通過代理進來,則透過防火墻獲取真實IP地址
cas return ++ strip dex except servlet desc 請求 /** * 獲取請求主機IP地址,如果通過代理進來,則透過防火墻獲取真實IP地址; * @Title: getIpAddress * @Descr
ntp時鐘同步
sbin ntpdate bsp centos6 usr col 服務 ntpd null 服務器時間的一致性,很關鍵的。 11. 基於ntp服務的形式 [root@server0 ~]# yum -y install chrony //NTP客戶端 ce
IP地址的分類及範圍詳解:A、B、C、D、E五類是如何劃分的?
網絡地址分類 IP地址分類 IP地址劃分 IP地址類型 IP地址範圍 IP地址的分類及範圍詳解:A、B、C、D、E五類是如何劃分的?最近在考證,有一項內容是網絡IP地址劃分的題目,一直從事IT的猛然發現回答這個問題時產生了懷疑,於是習慣百度了一下,發現網上廣泛流傳的有關IP地址劃分的文章居
Delphi獲取公網IP地址函數
fin .get style phi del 獲取公網ip final end and uses IdHTTP; function GetPublicIP: string; var strIP, URL: string; iStart, iEnd: Integer; My
內網配置NTP時鐘同步
cgroup org node 不可用 域名 con odi sbin eba 環境介紹Node1作為NTP主節點,其他所有節點從node1進行時間同步,節點 IpNode1 192.168.20.101Node2 192.168.20.102 所有節點安裝n
Linux下程式設計獲取本地IP地址的常見方法
轉載於:http://blog.csdn.net/k346k346/article/details/48231933 在進行linux網路程式設計時,經常用到本機IP地址。本文羅列一下常見方法,以備不時之需。 獲取本機IP地址,是一個相當靈活的操作,原因是網路地址的設定非常靈活而且都是允
linux debian下配置ntp時鐘同步
叢集設定時鐘同步ntp。 對於hadoop叢集設定時鐘同步就是一個十分重要的事情,下面我介紹一下,debain設定時鐘同步的方法。網上關於RedHat和centos系統的設定方法都很多,我就不介紹了。 同步模式:所有的slaves同步master的時間。 我是參考下面網址:
Java獲取使用者IP地址的工具類
package com.gcloud.common; import javax.servlet.http.HttpServletRequest; import java.net.InetAddress; import java.net.NetworkInterface; import java.n
多級反向代理java獲取真實IP地址
public static String getIpAddress(HttpServletRequest request){ String ip = request.getHeader("x-forwarded-for"); if (ip == null || ip.l
linux中ntp時鐘同步
1.查詢是否安裝ntp,若沒有安裝的話使用yum進行安裝 rpm -q ntp 或者 rpm -qa | grep ntp yum –y install ntp 4.1.6時鐘同步配置 系統版本為centos6.3時: 1.在選定的ntp伺服器主機上編輯配置檔案/etc/ntp.con
js獲取瀏覽器ip地址
/** * 獲取ip地址 */ function getUserIP(onNewIP) { // onNewIp - your listener
Nginx反向代理 Laravel獲取真實IP地址(PHP)
代理 pro $1 通過 找到 但是 有一個 忘記 rust 使用VUE前後端分離開發 後端使用Laravel 想要獲取到用戶的真實IP地址 因為分離開發不同源跨域問題 所以只能進行前端Nginx反向代理 location /api { rewrite
Linux下使用iptables禁止指定IP地址的網路連線
在Linux下,使用iptables來維護IP規則表。要封停或者是解封IP,其實就是在IP規則表新增規則。 要禁止指定IP地址的網路連線,可以使用以下兩種方法來快速實現。 1.禁止特定IP的連線 要禁止一個IP,使用下面這條命令: iptables -I INPUT -
java獲取使用者ip地址,處理0:0:0:0:0:0:0:1
/** * 獲得使用者遠端地址 */ public static String getRemoteAddr(HttpServletRequest request){ /*String remoteAddr = request.getHeader("X-Real-IP"); if (is
微信隱蔽獲取好友ip地址的過程
1.生成連線地址 第一步不知道的話 去這裡看 2.生成的連線 傳送到微信檔案傳輸助手 3.微信內開啟連線地址 繼續轉發到檔案傳輸助手 會出現一張卡片訊息 4.開啟Cheat Engine 在開啟微信程序 5.數值型別選擇字串 搜尋需要改的標題 點選首次搜尋後出現如下圖
java核心程式設計------獲取主機ip地址
package addresstest; import java.awt.BorderLayout; import java.awt.Label; import java.awt.event.ActionEvent; import java.awt.event.Action