- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课题名称: 实现网络对时程序
院 (系): 计算机工程学院
专 业: 通信工程
班 级:
学生姓名:
学 号:
指导教师:
2012年6月17日
目录
一、实验软件 3
二、设计内容 3
三、设计原理 4
四、设计过程 4
五、程序代码及测试分析 5
1、服务器: 5
2、客户端: 7
3、程序运行结果: 9
六、心得体会 11
七、参考文献 11
摘 要:本次课程设计以Visual C++ 6.0作为,复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力Visual C++ 6.0对网络编程的支持有socket支持,WinInet支持,MAPI和ISAPI支持等。其中,Windows Sockets API是TCP/IP网络环境里,也是Internet上进行开发最为通用的API。在TCP/IP网络通信环境下,Socket数据传输是一种特殊的I/O,它也相当于一种文件描述符,具有一个类似于打开文件的函数调用Socket()。可以这样理解:Socket实际上是一个通信端点,通过它,用户的Socket程序可以通过网络和其他的Socket应用程序通信。
二、设计内容
在局域网中有很多应用软件为了协同工作,需要保证客户机上时间统一,方法是客户机从一个时间相对正确的服务器读取时间,以此来校正本地时间。网络对时系统分服务器端程序和客户端程序。在服务器端程序需要达到以下功能:能够接收局域网中任一台客户机的对时请求并准确向客户机发送服务器端的时间和日期;客户端程序要达到以下功能:能够设定服务器的主机或者IP地址,能够接收服务器端发送的时间和日期信息并以此校正本地时间与服务器端的时间同步。
按照C/S模型设计一个网络对时服务系统,系统分为服务器端(server)和客户端(client)。服务器按照时间协议的要求(参考RFC-868),对发出对时请求的客户端,以TCP /I P的格式返回响应。客户端根据服务器端的返回值设计本地时间与服务器的时间同步。
三、设计原理
TCP/IP网络对时服务系统客户端和服务器原理主要分2个部分。服务器端创建套接监听字,并为它关联一个本地地址(指定IP地址和端口),然后进入监听状态准备接受客户的连接请求,为客户端的连接请求,服务器调用ACCEPT函数。客户端创建套接字即可调用CONENET函数试图连接服务器监听套接字,当服务器端的ACCEPT函数返回后,CONNECT函数也返回。此时客户端使用socket函数创建的套接字,双方就可以通信了。
服务器调用socket函数创建套接字server,调用bind绑定套接字到本地IP地址和端口,在端口监听并调用recvfrom函数接受客户端的对时请求,并调用sendto函数发送服务器时间到客户端,然后关闭套接字。客户端调用socket函数创建套接字client,调用sendto函数向服务器端发送对时请求,服务器端响应请求之后,客户端调用recvfrom函数从服务器端接收标准时间并设置本地时间与服务器端时间同步。
四、设计过程recvfrom函数接受客户端的对时请求,并调用sendto函数发送服务器时间到客户端,然后关闭服务器套接字server。客户端调用socket函数创建套接字client,然后调用sendto函数向服务器端发送对时请求,服务器端响应客户端的对时请求之后,调用sendto函数发送服务器时间到客户端,然后客户端调用recvfrom函数接收服务器端发送过来的响应,接收标准时间并设置本地时间与服务器端时间同步。
五、程序代码及测试分析
1、服务器:
#pragma comment(lib,ws2_32.lib)
#includewinsock2.h
#includestdio.h
#includestring.h
int main()
{
WSADATA wsadata;
int err = WSAStartup(WINSOCK_VERSION,wsadata);
if(err != 0)
{
printf(WSAStartup() failed :%d\n,WSAGetLastError());
return -1;
}
SOCKET sock = socket(AF_INET,SOCK_STREAM,0);
if(sock == INVALID_SOCKET)
{
printf(socket() f
您可能关注的文档
- 病毒营销及其策略分析 毕业论文.doc
- 白菜雄性不育基因的研究(外文翻译) 毕业论文.doc
- 百姓金融超市系统课程设计.doc
- 皮带机概述及常见故障处理.doc
- 皮库实习总结.docx
- 盆景展销会课程设计.doc
- 监控系统程序设计基础课程设计.doc
- 白云岩的成因文献综述报告.doc
- 监理文件毕业设计.doc
- 直流稳压源课程设计.doc
- 部编版一年级语文下册第四单元《8 夜色》教学课件(2025年春-新编教材).pptx
- 江苏省盐城市五校2024-2025学年高一下学期4月期中联考数学试卷(含答案).pdf
- 2025年高一语文教师工作总结简单版(六).docx
- 第12课《台阶》课件 2024—2025学年统编版语文七年级下册(共39张PPT).pptx
- 部编版一年级语文下册第四单元《语文园地四》教学课件(2025年春-新编教材).pptx
- 部编版一年级语文下册第四单元《9 端午粽》教学课件(2025年春-新编教材).pptx
- 指导技能的关键要素与提升的策略研究与分享.docx
- 湖南省永州四中直升班2025届高三(下)适应性数学试卷(含答案).pdf
- 湖北省荆荆宜襄·四地七校联盟2024-2025学年高一(下)期中联考数学试卷(含答案).pdf
- 2025年04月17日袁荣的初中历史组卷.docx
文档评论(0)