欢迎来到天天文库
浏览记录
ID:24380396
大小:52.00 KB
页数:3页
时间:2018-11-14
《局域网时间同步系统设计与实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、局域网时间同步系统设计与实现摘要:目前很多软件系统都是基于X络环境的,拥有统一的时间是许多分布式软件应用的前提,但是这些软件系统并没有提供同步各计算机系统时间的功能。为此,探讨了icrosoftVisualStudio2010+port("Kernel32.dll")] publicstaticexternvoidGetLocalTime(SystemTimesysTime); //获取系统时间 [DllImport("Kernel32.dll")] publicstaticexternb
2、oolSetLocalTime(SystemTimesysTime); //设置系统时间 } 3.2.2系统时间与数据流的转换 系统实现中将获取到的系统时间对象进行序列化后通过X络进行传输,当服务器收到后再将其进行反序列化,得到时间对象。序列化和反序列化操作的主要代码如下://序列化操作:将系统时间对象转换摘要:目前很多软件系统都是基于X络环境的,拥有统一的时间是许多分布式软件应用的前提,但是这些软件系统并没有提供同步各计算机系统时间的功能。为此,探讨了icrosoftVisualStud
3、io2010+port("Kernel32.dll")] publicstaticexternvoidGetLocalTime(SystemTimesysTime); //获取系统时间 [DllImport("Kernel32.dll")] publicstaticexternboolSetLocalTime(SystemTimesysTime); //设置系统时间 } 3.2.2系统时间与数据流的转换 系统实现中将获取到的系统时间对象进行序列化后通过X络进行传输,当服务器收到后再
4、将其进行反序列化,得到时间对象。序列化和反序列化操作的主要代码如下://序列化操作:将系统时间对象转换为数据流 privatebyte[]TimeToStream(SystemTimest) {MemoryStreamms=neoryStream(); BinaryFormatterformatter=neatter(); formatter.Serialize(ms,st); returnms.ToArray(); } //反序列化操作:将数据流转换为时间对象 privateSy
5、stemTimeStreamToTime(byte[]stream) {SystemTimest; MemoryStreamms=neoryStream(stream); BinaryFormatterbf=neatter(); st=(SystemTime)bf.Deserialize(ms); returnst; } 3.2.3时间同步服务监听器的建立 系统中服务器与客户端之间通讯使用.Frameily.InterNet,ProtocolType.Tcp); listener
6、Socket.Bind(ipe); listenerSocket.Listen(0);//开时监听服务 p=listenerSocket.Accept();//接受客户端的请求 if(temp!=null)//如果有连接请求 {byte[]stream=nep.Receive(stream,stream.Length,0); //从客户端接收客户端的当前时间 SystemTimest=StreamToTime(stream); //将X络数据流反序列化为系统时间对象 TimeOpe
7、rate.SetLocalTime(st); //根据客户端系统时间设置本计算机的系统时间 temp.Close(); } } } 3.2.4客户端连接服务器 该部分完成客户端发起连接服务器的请求,将客户端当期系统时间发送到服务器。该部分主要通过Socket类的Send方法完成操作,实现较为简单,代码略。 4结束语 该系统的开发源于实际工作的需要,解决实际工作中局域X计算机同步时间的问题。系统提供一键式同步局域X计算机系统时间的功能,操作方便,不需要用户对计算机进行其余配置,极大
8、地减少了用户的工作负担。但是,该系统仍然存在两方面的不足:一是实现中并未考虑到X络传输时延对时间同步精度的影响;二是系统的实现是基于].机械工业出版社,2010.
此文档下载收益归作者所有