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

局域網(wǎng)時(shí)間同步系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2013-04-29 22:33:05胡紹波
計(jì)算機(jī)時(shí)代 2013年6期

胡紹波

摘 要: 目前很多軟件系統(tǒng)都是基于網(wǎng)絡(luò)環(huán)境的,擁有統(tǒng)一的時(shí)間是許多分布式軟件應(yīng)用的前提,但是這些軟件系統(tǒng)并沒(méi)有提供同步各計(jì)算機(jī)系統(tǒng)時(shí)間的功能。為此,探討了Windows環(huán)境下局域網(wǎng)系統(tǒng)時(shí)間同步的相關(guān)設(shè)計(jì)模型,介紹了系統(tǒng)的開(kāi)發(fā)原理、設(shè)計(jì)思想和具體實(shí)現(xiàn),給出了主要的程序代碼。該系統(tǒng)的開(kāi)發(fā),解決了實(shí)際工作中局域網(wǎng)計(jì)算機(jī)時(shí)間同步的問(wèn)題,達(dá)到了預(yù)期的效果。

關(guān)鍵詞: 時(shí)間同步; 系統(tǒng)設(shè)計(jì); 系統(tǒng)實(shí)現(xiàn); Socket

中圖分類號(hào):TP3 文獻(xiàn)標(biāo)志碼:B 文章編號(hào):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 引言

隨著計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用范圍的不斷擴(kuò)大,對(duì)網(wǎng)絡(luò)設(shè)備及網(wǎng)絡(luò)應(yīng)用的時(shí)間同步提出了越來(lái)越高的要求,擁有一個(gè)精準(zhǔn)的時(shí)間同步機(jī)制是許多分布式應(yīng)用的前提[1]。目前大部分軟件系統(tǒng)均是基于網(wǎng)絡(luò)環(huán)境的,但是相當(dāng)數(shù)量的軟件系統(tǒng),并未具有與各計(jì)算機(jī)系統(tǒng)的時(shí)間同步功能,通常是利用操作系統(tǒng)的時(shí)間同步功能進(jìn)行時(shí)間同步,步驟繁瑣[2]。如果人工修改各計(jì)算機(jī)時(shí)間,不但費(fèi)時(shí),而且很難做到精準(zhǔn)。為此,開(kāi)發(fā)一個(gè)能同步局域網(wǎng)內(nèi)各指定計(jì)算機(jī)時(shí)間的軟件系統(tǒng)是很有意義的。

1 系統(tǒng)功能

該系統(tǒng)的主要功能是以局域網(wǎng)中某一臺(tái)計(jì)算機(jī)(客戶端)的時(shí)間為基準(zhǔn),將局域網(wǎng)中計(jì)算機(jī)時(shí)間統(tǒng)一為該指定的計(jì)算機(jī)時(shí)間,從而實(shí)現(xiàn)局域網(wǎng)內(nèi)計(jì)算機(jī)時(shí)間的同步,保證其他應(yīng)用軟件數(shù)據(jù)采集的正確性。

1.1 系統(tǒng)用例圖

該系統(tǒng)的用例圖,如圖1所示。

[設(shè)置需同步時(shí)間的計(jì)算機(jī)網(wǎng)絡(luò)端口] [管理需同步時(shí)間的計(jì)算機(jī)網(wǎng)絡(luò)地址] [系統(tǒng)管理員][啟動(dòng)系統(tǒng)時(shí)間同步服務(wù)] [同步系統(tǒng)時(shí)間]

圖1 系統(tǒng)用例圖

1.2 系統(tǒng)界面

該系統(tǒng)的時(shí)間同步服務(wù)器和客戶端界面如圖2、圖3所示。

圖2 時(shí)間同步服務(wù)器界面

圖3 系統(tǒng)時(shí)間同步客戶端界面

2 系統(tǒng)設(shè)計(jì)

系統(tǒng)采用C/S架構(gòu),服務(wù)器端提供設(shè)置同步時(shí)間服務(wù)所對(duì)應(yīng)的網(wǎng)絡(luò)端口,啟動(dòng)系統(tǒng)時(shí)間同步服務(wù)和接收同步時(shí)間請(qǐng)求的功能;客戶端提供管理需同步時(shí)間的計(jì)算機(jī)網(wǎng)絡(luò)地址和對(duì)應(yīng)的服務(wù)端口的功能。

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

圖4 服務(wù)器端處理流程

圖5 客戶端處理流程

3 系統(tǒng)關(guān)鍵功能實(shí)現(xiàn)

3.1 系統(tǒng)開(kāi)發(fā)環(huán)境

該系統(tǒng)的開(kāi)發(fā)環(huán)境為:Microsoft Visual Studio 2010+Windows 7。

3.2 系統(tǒng)實(shí)現(xiàn)關(guān)鍵代碼

3.2.1 系統(tǒng)時(shí)間的獲取和設(shè)置

系統(tǒng)實(shí)現(xiàn)中通過(guò)調(diào)用系統(tǒng)API函數(shù)對(duì)系統(tǒng)時(shí)間進(jìn)行操作,核心代碼如下:

//系統(tǒng)時(shí)間的獲取與設(shè)置操作類,調(diào)用API函數(shù)

public class TimeOperate

{ [DllImport("Kernel32.dll")]

public static extern void GetLocalTime (SystemTime sysTime);

//獲取系統(tǒng)時(shí)間

[DllImport("Kernel32.dll")]

public static extern bool SetLocalTime (SystemTime sysTime);

//設(shè)置系統(tǒng)時(shí)間

}

3.2.2 系統(tǒng)時(shí)間與數(shù)據(jù)流的轉(zhuǎn)換

系統(tǒng)實(shí)現(xiàn)中將獲取到的系統(tǒng)時(shí)間對(duì)象進(jìn)行序列化后通過(guò)網(wǎng)絡(luò)進(jìn)行傳輸,當(dāng)服務(wù)器收到后再將其進(jìn)行反序列化,得到時(shí)間對(duì)象。序列化和反序列化操作的主要代碼如下:

//序列化操作:將系統(tǒng)時(shí)間對(duì)象轉(zhuǎn)換為數(shù)據(jù)流

private byte[] TimeToStream(SystemTime st)

{ MemoryStream ms=new MemoryStream();

BinaryFormatter formatter=new BinaryFormatter();

formatter.Serialize(ms, st);

return ms.ToArray();

}

//反序列化操作:將數(shù)據(jù)流轉(zhuǎn)換為時(shí)間對(duì)象

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 時(shí)間同步服務(wù)監(jiān)聽(tīng)器的建立

系統(tǒng)中服務(wù)器與客戶端之間通訊使用.NET Framework提供的Sockets進(jìn)行通訊[3-5]。

服務(wù)器端建立時(shí)間同步服務(wù)器監(jiān)聽(tīng)器,監(jiān)聽(tīng)客戶端請(qǐng)求。核心代碼如下:

private IPAddress ipAddress; //綁定時(shí)間同步服務(wù)的IP地址

private int intPort; //綁定時(shí)間同步服務(wù)的端口號(hào)

private Socket listenerSocket; //時(shí)間同步服務(wù)的監(jiān)聽(tīng)器

//時(shí)間同步服務(wù)監(jiān)聽(tīng)過(guò)程

public void BeginListen()

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

listenerSocket=new Socket(AddressFamily.InterNetwork,

SocketType.Stream, ProtocolType.Tcp);

listenerSocket.Bind(ipe);

listenerSocket.Listen(0); //開(kāi)時(shí)監(jiān)聽(tīng)服務(wù)

while (true) //循環(huán)監(jiān)聽(tīng)

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

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

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

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

//從客戶端接收客戶端的當(dāng)前時(shí)間

SystemTime st=StreamToTime(stream);

//將網(wǎng)絡(luò)數(shù)據(jù)流反序列化為系統(tǒng)時(shí)間對(duì)象

TimeOperate.SetLocalTime(st);

//根據(jù)客戶端系統(tǒng)時(shí)間設(shè)置本計(jì)算機(jī)的系統(tǒng)時(shí)間

temp.Close();

}

}

}

3.2.4 客戶端連接服務(wù)器

該部分完成客戶端發(fā)起連接服務(wù)器的請(qǐng)求,將客戶端當(dāng)期系統(tǒng)時(shí)間發(fā)送到服務(wù)器。該部分主要通過(guò)Socket類的Send方法完成操作,實(shí)現(xiàn)較為簡(jiǎn)單,代碼略。

4 結(jié)束語(yǔ)

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

參考文獻(xiàn):

[1] 劉愛(ài)東等.一種基于通用PC的局域網(wǎng)時(shí)間同步方法[J].科學(xué)技術(shù)與

工程,2012.12(28):7434-7438

[2] 趙勇等.時(shí)間同步服務(wù)器在中、小型局域網(wǎng)中的應(yīng)用[N].科技創(chuàng)新導(dǎo)

報(bào),2010.26:29

[3] 許毅,馮山.使用C#語(yǔ)言進(jìn)行多線程程序設(shè)計(jì)[J].計(jì)算機(jī)工程,

2003.29(5):1-2

[4] 吳晨等.C#網(wǎng)絡(luò)與通訊程序設(shè)計(jì)案例精講[M].清華大學(xué)出版社,

2006.

[5] 姜曉東.C#4.0權(quán)威指南[M].機(jī)械工業(yè)出版社,2010.

主站蜘蛛池模板: 福利国产在线| 在线观看国产黄色| 亚洲成a人片| 国产黑丝视频在线观看| 不卡无码h在线观看| 亚洲视频色图| 亚洲无线国产观看| 91精品视频在线播放| 无码国内精品人妻少妇蜜桃视频| 亚洲国产91人成在线| 国产成人亚洲综合A∨在线播放| 国产爽妇精品| 国产好痛疼轻点好爽的视频| 欧美一级黄片一区2区| 国产自在线拍| 成人国产精品网站在线看| 免费看一级毛片波多结衣| 中文字幕 欧美日韩| 欧美啪啪精品| 国产97公开成人免费视频| 精品夜恋影院亚洲欧洲| 456亚洲人成高清在线| 一区二区三区国产精品视频| 综合久久五月天| 亚洲无码在线午夜电影| 亚洲欧洲日韩综合| 2020国产精品视频| 国产a网站| 午夜电影在线观看国产1区| 国产精品爆乳99久久| 国产丝袜无码精品| 久久久噜噜噜久久中文字幕色伊伊 | 国产精品视频猛进猛出| 一本大道无码高清| 亚洲网综合| 成年片色大黄全免费网站久久| 人人91人人澡人人妻人人爽| 美女被躁出白浆视频播放| 五月激情婷婷综合| 亚洲成a人在线观看| 国产一二视频| 久久婷婷色综合老司机| 国产精品亚洲五月天高清| 无码内射在线| 久久semm亚洲国产| 国产成人精品2021欧美日韩 | 伦精品一区二区三区视频| 67194亚洲无码| 极品国产一区二区三区| 中文无码毛片又爽又刺激| 欧美色视频网站| 国产在线一区视频| 午夜a级毛片| 久久精品亚洲热综合一区二区| 99在线观看视频免费| 欧美午夜一区| 在线精品亚洲一区二区古装| 91久久精品国产| 国产精品欧美亚洲韩国日本不卡| 丁香婷婷综合激情| 91久久夜色精品国产网站| 国产精品永久在线| 青青极品在线| 国产成人禁片在线观看| 日本人又色又爽的视频| 欧美啪啪精品| 亚洲成AV人手机在线观看网站| 精品無碼一區在線觀看 | 中文字幕乱码二三区免费| 国产成人毛片| 国产亚洲精品资源在线26u| 波多野吉衣一区二区三区av| 91精品视频播放| 亚洲无码免费黄色网址| 国产日韩欧美在线播放| 亚洲精品成人福利在线电影| 国产精品视频导航| 手机精品福利在线观看| 九九热在线视频| 亚洲品质国产精品无码| 欧美国产三级| 国产一线在线|