域名频道-专业提供域名注册,网站空间,电子邮箱,VPS主机等服务
首页 域名注册 虚拟主机 香港主机 美国主机 VPS主机 网站建设 ShopEX网店 软件开发 客户中心 购物车
域名服务,域名注册 常见问题
文章搜索


本类TOP10
·松江网页设计_松江网页制...
·上海轨道交通图-上海地图
·松江公交线路图-松江地图
·marquee连续滚动
·今天几度?-天气预报-全...
·松江新城地图-松江地图
·松江城区地图-松江地图
·HAO123邮箱登陆代码
·shopex免费模板,下...
·松江DNS服务器地址,松...
当前位置:域名频道首页 > 常见问题 > 网页制作
全面掌握VisualC#实现UDP协议(二) (1)

五.Visual C#实现网络对时系统之客户 端程序的具体步骤:
客户端的程序比服务器端程序要复杂些 ,因为客户端程序不仅要往服务器端发送对时请求信息,接收服务器 端反馈的日期和时间数据,还要提取这些时间和日期信息,并以此来 修改本地端的日期和时间。参照上面实现网络对时系统服务器端程序 ,实现请求信息的发送和接收应相对要容易许多。所以客户端程序的 关键就是根据获得的服务器端日期、时间数据来修改本地的日期、时 间。在.Net FrameWork SDK 3705版本中并 没有提供修改本地日期和时间的函数和类库,本文的实现办法是引入 WinAPI函数,通过对应的WinAPI函数来更正本地时间和 日期的,具体可参阅以下第十三和第十八步。
以下是Vis ual C#实现网络对时系统之客户端程序的具体实现步骤: < br>1.启动Visual Studio .Net。
2.选择菜单【文件】|【新建】|【项目】后,弹出【新建项目】 对话框。
3.将【项目类型】设置为【Visual C# 项目】。
4.将【模板】设置为【Windows应用程序 】。
5.在【名称】文本框中输入【UDP对时客户端】。
6.在【位置】的文本框中输入【E:\VS.NET项目 】,然后单击【确定】按钮。
7.【解决方案资源管理器 】窗口中,双击Form1.cs文件,进入Form1.cs文件 的编辑界面。
8.在Form1.cs文件的开头,用下列 导入命名空间代码替换Form1.cs中缺省的导入命名空间代码 。

 


u sing System.Collections ;

u sing System.ComponentModel ;
using System.Windows.Forms ;

using System.Data ;

usi ng System.Net ;

using Syste m.Net.Sockets ;

using Syste m.Runtime.InteropServices ;

//程序引入WinAPI函数要使用到

 


9.把Visual Studi o .Net的集成开发环境的当前窗口切换到【Form1.cs (设计)】窗体设计界面,并从【工具箱】中的【Windows窗 体组件】中往窗体中拖入下列组件,并执行相应操作:
三个 TextBox组件,分别用来输入服务器的IP地址,和显示本地 时间、服务器的时间
二个Button组件,分别是but ton1和button2,在设计界面中分别双击button1 和button2,系统会自动产生它们对应的Click事件处理 代码。
三干个Label组件。
10.【解决方案 资源管理器】窗口中,双击Form1.cs文件,进入Form1 .cs文件的编辑界面。在Form1.cs中的namespac e代码区添加下列代码,下列代码的功能是在程序中定义系统时间的 结构体。

 


[ StructLayout ( LayoutKind .Sequential )]
public clas s SystemTime
{
public short year ;

public short Month ;

public short DayO fWeek ;

public short Day ;

public short Hour ;

public short Minute ;

pu blic short Second ;

publi c short Milliseconds ;

}
//定义系统时间的结构

 


11.在Form1.cs中的class代码区 添加下列代码,下列代码的功能是定义程序中使用的全局变量。

 

priv ate UdpClient client ;

//创建 UDP网络服务
private IPEndPoint receivePoint ;

private int port = 8080 ;

//定义接收服务器端程序 发送对时信息对应的端口号
private string timeString = DateTime.Now.ToS tring ( ) ;

//存放时间日期信息字符串< br>private DateTime temp ;

//定义一个时间类型,用以修改当前时间和日期

来自:域名频道 时间:2006-9-19 返回 常见问题 首页
关于我们 联系方式 付款事宜 招聘启事 网站地图 域名注册 虚拟主机 法律顾问

Copyright 2000-2013 域名频道(www.DNS110.com)
地址:上海市松江区新松江路1188弄37号 邮编:201620
电话:021-67820741 67820742 67820743 传真:转分机805 值班电话:021-67820743
QQ:219854 Email:support@dns110.com