亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2013-04-29 22:33:05胡紹波
        計(jì)算機(jī)時(shí)代 2013年6期
        關(guān)鍵詞:系統(tǒng)設(shè)計(jì)

        胡紹波

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

        該系統(tǒng)的開發(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)中通過調(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)行序列化后通過網(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)中服務(wù)器與客戶端之間通訊使用.NET Framework提供的Sockets進(jìn)行通訊[3-5]。

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

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

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

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

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

        public void BeginListen()

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

        listenerSocket=new Socket(AddressFamily.InterNetwork,

        SocketType.Stream, ProtocolType.Tcp);

        listenerSocket.Bind(ipe);

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

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

        { 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ù)器。該部分主要通過Socket類的Send方法完成操作,實(shí)現(xiàn)較為簡(jiǎn)單,代碼略。

        4 結(jié)束語

        該系統(tǒng)的開發(fā)源于實(shí)際工作的需要,解決實(shí)際工作中局域網(wǎng)計(jì)算機(jī)同步時(shí)間的問題。系統(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í)間同步。以上問題需進(jìn)一步完善和研究。

        參考文獻(xiàn):

        [1] 劉愛東等.一種基于通用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#語言進(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.

        猜你喜歡
        系統(tǒng)設(shè)計(jì)
        基于FCR的城市地下供水管網(wǎng)應(yīng)急處置系統(tǒng)設(shè)計(jì)
        基于移動(dòng)互聯(lián)技術(shù)的通用評(píng)價(jià)系統(tǒng)的設(shè)計(jì)
        基于UML技術(shù)的高校貧困生管理系統(tǒng)建模分析
        計(jì)算機(jī)遠(yuǎn)程監(jiān)控技術(shù)在新聞廣電中的應(yīng)用
        數(shù)字化語音存儲(chǔ)于回放綜合實(shí)驗(yàn)系統(tǒng)設(shè)計(jì)
        一種基于SATA硬盤陣列的數(shù)據(jù)存儲(chǔ)與控制系統(tǒng)設(shè)計(jì)研究
        工業(yè)熱電偶計(jì)量檢定系統(tǒng)設(shè)計(jì)
        基于物聯(lián)網(wǎng)的煤礦智能倉儲(chǔ)與物流運(yùn)輸管理系統(tǒng)設(shè)計(jì)與應(yīng)用
        目標(biāo)特性測(cè)量雷達(dá)平臺(tái)建設(shè)構(gòu)想
        科技視界(2016年22期)2016-10-18 14:34:34
        星級(jí)酒店建筑電氣及弱電智能系統(tǒng)設(shè)計(jì)分析
        精品视频在线观看免费无码| 国产亚洲成av人片在线观看| 一边吃奶一边摸做爽视频| 欧美色图中文字幕| 亚洲国产精品夜男人天堂| 日韩精品一区二区三区乱码| 日韩国产精品无码一区二区三区 | 亚洲欧洲无码精品ⅤA| 国产交换精品一区二区三区| 疯狂做受xxxx国产| 国产成人www免费人成看片| 国产午夜激无码AV毛片不卡| 国产人妖在线观看一区二区三区| 国产精品久人妻精品老妇| 内射少妇36p九色| 99国产精品无码专区| 亚洲一区二区三区成人网| 久久无码人妻一区二区三区午夜| 免费人成年小说在线观看| 亚洲欧洲无码精品ⅤA| 粉嫩极品国产在线观看免费一区| 人与禽性视频77777| 91国际视频| 国产视频一区二区三区在线看 | 亚洲熟妇无码av在线播放| 亚洲男人的天堂在线播放| 亚洲色欲色欲大片WWW无码| 久久精品亚洲精品国产区| 永久黄网站色视频免费看| 欧洲色综合| 一本色道久久综合亚州精品| 欧美成人家庭影院| 国产熟妇人妻精品一区二区动漫 | 永久免费的av在线电影网无码 | 强奸乱伦影音先锋| 少妇白浆高潮无码免费区| 亚洲无码观看a| 亚洲毛片在线免费视频| 日本爽快片18禁免费看| 亚洲一区二区久久青草| 日本综合视频一区二区|