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

中圖分類(lèi)號(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ī)(客戶(hù)端)的時(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ù)器和客戶(hù)端界面如圖2、圖3所示。

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

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

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)求的功能;客戶(hù)端提供管理需同步時(shí)間的計(jì)算機(jī)網(wǎng)絡(luò)地址和對(duì)應(yīng)的服務(wù)端口的功能。

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

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

圖5 客戶(hù)端處理流程

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è)置操作類(lèi),調(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ù)器與客戶(hù)端之間通訊使用.NET Framework提供的Sockets進(jìn)行通訊[3-5]。

服務(wù)器端建立時(shí)間同步服務(wù)器監(jiān)聽(tīng)器,監(jiān)聽(tīng)客戶(hù)端請(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(); //接受客戶(hù)端的請(qǐng)求

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

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

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

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

SystemTime st=StreamToTime(stream);

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

TimeOperate.SetLocalTime(st);

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

temp.Close();

}

}

}

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

該部分完成客戶(hù)端發(fā)起連接服務(wù)器的請(qǐng)求,將客戶(hù)端當(dāng)期系統(tǒng)時(shí)間發(fā)送到服務(wù)器。該部分主要通過(guò)Socket類(lèi)的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í)間的功能,操作方便,不需要用戶(hù)對(duì)計(jì)算機(jī)進(jìn)行其余配置,極大地減少了用戶(hù)的工作負(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)行多線(xià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Ⅴ在线观看| 国产丝袜无码精品| 亚洲男人天堂2020| 亚洲国产理论片在线播放| 看你懂的巨臀中文字幕一区二区 | 久久香蕉国产线看精品| 日本午夜视频在线观看| 无码啪啪精品天堂浪潮av| 综合色区亚洲熟妇在线| 又黄又湿又爽的视频| 天堂av综合网| 日韩无码视频专区| 日韩精品少妇无码受不了| 国产情侣一区二区三区| 日本91视频| 婷婷色一二三区波多野衣| 国产女人在线观看| 五月激激激综合网色播免费| 国产精品开放后亚洲| 97久久免费视频| 99热这里只有精品在线播放| 亚洲视频在线观看免费视频| 欧美亚洲一二三区| 亚洲AV人人澡人人双人| 青青久在线视频免费观看| 久久久久国色AV免费观看性色| 丰满人妻久久中文字幕| 亚洲国产精品日韩专区AV| 国产一级毛片yw| 国产精品乱偷免费视频| 成人在线亚洲| 无码综合天天久久综合网| 免费一极毛片| 热99re99首页精品亚洲五月天| 亚洲欧美另类中文字幕| 99偷拍视频精品一区二区| 91啦中文字幕| 免费aa毛片| 午夜在线不卡| 亚洲天堂久久新| 婷婷综合缴情亚洲五月伊| 午夜激情福利视频| 特级精品毛片免费观看| 亚洲无码一区在线观看| 午夜福利视频一区| 国产成人喷潮在线观看| 欧美三级日韩三级| 曰韩人妻一区二区三区| 亚洲a级毛片| 日本欧美午夜| 亚洲人成影院在线观看| 婷五月综合| 国产精品真实对白精彩久久 | 18禁影院亚洲专区| 亚洲精品男人天堂| 狠狠做深爱婷婷久久一区| 精品亚洲欧美中文字幕在线看| 国产成人精品男人的天堂| 久久精品亚洲专区| 国产精品三级av及在线观看| 精品一区二区无码av| 精品国产美女福到在线不卡f| 女同国产精品一区二区| 国模极品一区二区三区| 91精品日韩人妻无码久久| 中文字幕精品一区二区三区视频| 亚洲性影院| 国内精品视频| 91国语视频| 特级毛片8级毛片免费观看| 日韩高清一区 | 日韩国产黄色网站| 国产精品99久久久久久董美香| 欧美午夜在线观看| 永久免费AⅤ无码网站在线观看| 亚洲无码一区在线观看| 老司机aⅴ在线精品导航| 欧美影院久久| 国产新AV天堂|