999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

局域網時間同步系統設計與實現

2013-04-29 22:33:05胡紹波
計算機時代 2013年6期

胡紹波

摘 要: 目前很多軟件系統都是基于網絡環境的,擁有統一的時間是許多分布式軟件應用的前提,但是這些軟件系統并沒有提供同步各計算機系統時間的功能。為此,探討了Windows環境下局域網系統時間同步的相關設計模型,介紹了系統的開發原理、設計思想和具體實現,給出了主要的程序代碼。該系統的開發,解決了實際工作中局域網計算機時間同步的問題,達到了預期的效果。

關鍵詞: 時間同步; 系統設計; 系統實現; Socket

中圖分類號:TP3 文獻標志碼:B 文章編號:1006-8228(2013)06-45-02

Design and implementation of time-synchronization system for LAN

Hu Shaobo

(Kunming Branch of the People's Bank of China, Kunming, Yunnan 650021, China)

Abstract: Since many software systems are based on the network environment, a unified time is the premise of many distributed software applications. However these software usually do not provide the synchronization function of computer system time. Therefore, the design model of time-synchronization system for LAN based on Windows is discussed. The principles of system development and design ideas are introduced, and the main program code is given. The problem of the LAN computer time synchronization is overcome by development of the system in practice, which achieves the desired effects.

Key words: time-synchronization; system design; system implementation; Socket

0 引言

隨著計算機網絡應用范圍的不斷擴大,對網絡設備及網絡應用的時間同步提出了越來越高的要求,擁有一個精準的時間同步機制是許多分布式應用的前提[1]。目前大部分軟件系統均是基于網絡環境的,但是相當數量的軟件系統,并未具有與各計算機系統的時間同步功能,通常是利用操作系統的時間同步功能進行時間同步,步驟繁瑣[2]。如果人工修改各計算機時間,不但費時,而且很難做到精準。為此,開發一個能同步局域網內各指定計算機時間的軟件系統是很有意義的。

1 系統功能

該系統的主要功能是以局域網中某一臺計算機(客戶端)的時間為基準,將局域網中計算機時間統一為該指定的計算機時間,從而實現局域網內計算機時間的同步,保證其他應用軟件數據采集的正確性。

1.1 系統用例圖

該系統的用例圖,如圖1所示。

[設置需同步時間的計算機網絡端口] [管理需同步時間的計算機網絡地址] [系統管理員][啟動系統時間同步服務] [同步系統時間]

圖1 系統用例圖

1.2 系統界面

該系統的時間同步服務器和客戶端界面如圖2、圖3所示。

圖2 時間同步服務器界面

圖3 系統時間同步客戶端界面

2 系統設計

系統采用C/S架構,服務器端提供設置同步時間服務所對應的網絡端口,啟動系統時間同步服務和接收同步時間請求的功能;客戶端提供管理需同步時間的計算機網絡地址和對應的服務端口的功能。

同步時間的具體處理流程如圖4、圖5所示。

圖4 服務器端處理流程

圖5 客戶端處理流程

3 系統關鍵功能實現

3.1 系統開發環境

該系統的開發環境為:Microsoft Visual Studio 2010+Windows 7。

3.2 系統實現關鍵代碼

3.2.1 系統時間的獲取和設置

系統實現中通過調用系統API函數對系統時間進行操作,核心代碼如下:

//系統時間的獲取與設置操作類,調用API函數

public class TimeOperate

{ [DllImport("Kernel32.dll")]

public static extern void GetLocalTime (SystemTime sysTime);

//獲取系統時間

[DllImport("Kernel32.dll")]

public static extern bool SetLocalTime (SystemTime sysTime);

//設置系統時間

}

3.2.2 系統時間與數據流的轉換

系統實現中將獲取到的系統時間對象進行序列化后通過網絡進行傳輸,當服務器收到后再將其進行反序列化,得到時間對象。序列化和反序列化操作的主要代碼如下:

//序列化操作:將系統時間對象轉換為數據流

private byte[] TimeToStream(SystemTime st)

{ MemoryStream ms=new MemoryStream();

BinaryFormatter formatter=new BinaryFormatter();

formatter.Serialize(ms, st);

return ms.ToArray();

}

//反序列化操作:將數據流轉換為時間對象

private SystemTime StreamToTime(byte[] stream)

{ SystemTime st;

MemoryStream ms=new MemoryStream(stream);

BinaryFormatter bf=new BinaryFormatter();

st=(SystemTime)bf.Deserialize(ms);

return st;

}

3.2.3 時間同步服務監聽器的建立

系統中服務器與客戶端之間通訊使用.NET Framework提供的Sockets進行通訊[3-5]。

服務器端建立時間同步服務器監聽器,監聽客戶端請求。核心代碼如下:

private IPAddress ipAddress; //綁定時間同步服務的IP地址

private int intPort; //綁定時間同步服務的端口號

private Socket listenerSocket; //時間同步服務的監聽器

//時間同步服務監聽過程

public void BeginListen()

{ IPEndPoint ipe=new IPEndPoint(ipAddress, intPort);

listenerSocket=new Socket(AddressFamily.InterNetwork,

SocketType.Stream, ProtocolType.Tcp);

listenerSocket.Bind(ipe);

listenerSocket.Listen(0); //開時監聽服務

while (true) //循環監聽

{ Socket temp=listenerSocket.Accept(); //接受客戶端的請求

if (temp != null) //如果有連接請求

{ byte[] stream=new byte[1024];

temp.Receive(stream, stream.Length, 0);

//從客戶端接收客戶端的當前時間

SystemTime st=StreamToTime(stream);

//將網絡數據流反序列化為系統時間對象

TimeOperate.SetLocalTime(st);

//根據客戶端系統時間設置本計算機的系統時間

temp.Close();

}

}

}

3.2.4 客戶端連接服務器

該部分完成客戶端發起連接服務器的請求,將客戶端當期系統時間發送到服務器。該部分主要通過Socket類的Send方法完成操作,實現較為簡單,代碼略。

4 結束語

該系統的開發源于實際工作的需要,解決實際工作中局域網計算機同步時間的問題。系統提供一鍵式同步局域網計算機系統時間的功能,操作方便,不需要用戶對計算機進行其余配置,極大地減少了用戶的工作負擔。但是,該系統仍然存在兩方面的不足:一是實現中并未考慮到網絡傳輸時延對時間同步精度的影響;二是系統的實現是基于Windows系統的,目前尚不支持非Windows系統的時間同步。以上問題需進一步完善和研究。

參考文獻:

[1] 劉愛東等.一種基于通用PC的局域網時間同步方法[J].科學技術與

工程,2012.12(28):7434-7438

[2] 趙勇等.時間同步服務器在中、小型局域網中的應用[N].科技創新導

報,2010.26:29

[3] 許毅,馮山.使用C#語言進行多線程程序設計[J].計算機工程,

2003.29(5):1-2

[4] 吳晨等.C#網絡與通訊程序設計案例精講[M].清華大學出版社,

2006.

[5] 姜曉東.C#4.0權威指南[M].機械工業出版社,2010.

主站蜘蛛池模板: 亚洲欧美成aⅴ人在线观看 | 成人午夜视频网站| 青青青草国产| 伊人色在线视频| 欧美三级自拍| 天天综合网亚洲网站| 91麻豆久久久| 国产乱码精品一区二区三区中文 | 天堂在线亚洲| 青青青国产免费线在| 欧美a在线看| 欧美成人免费午夜全| 日韩人妻无码制服丝袜视频| 色有码无码视频| 国产在线观看成人91 | 国产网站免费| 免费国产高清视频| 99久久精品久久久久久婷婷| 亚洲愉拍一区二区精品| 99热国产这里只有精品9九| 欧美日韩另类国产| 99爱在线| 久久精品aⅴ无码中文字幕| 亚洲二三区| 精品1区2区3区| 婷婷激情亚洲| 亚洲最大看欧美片网站地址| 国产剧情一区二区| 亚洲精品国产成人7777| 日韩欧美色综合| 麻豆精品久久久久久久99蜜桃| 亚洲第一成年免费网站| 成人国产精品2021| AⅤ色综合久久天堂AV色综合| 国产青榴视频在线观看网站| 欧美精品伊人久久| 无码中文字幕乱码免费2| 婷婷伊人五月| 亚洲日韩精品伊甸| 精品亚洲麻豆1区2区3区| 欧美日韩一区二区三区四区在线观看| 国产超薄肉色丝袜网站| 中文字幕在线看| 久久综合色视频| 久久9966精品国产免费| 夜夜操天天摸| 91综合色区亚洲熟妇p| 国产精品成人免费视频99| 国产无码性爱一区二区三区| 黄色在线网| 99精品国产高清一区二区| 日韩AV无码免费一二三区| 婷婷综合缴情亚洲五月伊| 在线播放国产99re| 亚洲男女天堂| 国产精品尹人在线观看| 亚洲视频一区在线| 久久九九热视频| 国产xx在线观看| 国产欧美高清| 久久熟女AV| 欧美福利在线观看| 乱人伦视频中文字幕在线| 在线免费看黄的网站| 国产嫩草在线观看| 国产网站在线看| 欧美一区中文字幕| 手机精品福利在线观看| 国产精品亚洲片在线va| 狠狠干欧美| 亚洲成A人V欧美综合天堂| 亚洲资源站av无码网址| 国产无遮挡猛进猛出免费软件| 中文成人在线视频| 亚洲中久无码永久在线观看软件| 国产 日韩 欧美 第二页| 国产最新无码专区在线| 久久天天躁夜夜躁狠狠| 亚洲高清无码久久久| 亚洲第一精品福利| 欧美日韩在线成人| 午夜视频免费试看|