网络程序设计

网络程序设计

ID:26693540

大小:839.50 KB

页数:26页

时间:2018-11-28

网络程序设计_第1页
网络程序设计_第2页
网络程序设计_第3页
网络程序设计_第4页
网络程序设计_第5页
资源描述:

《网络程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、课题名称:网络程序设计课程设计子课题名称:实现网络对时程序院(系):计算机学院专业:通信工程班级:学生姓名:学号:指导教师:2012年6月20日目录目录2摘要3正文3①设计内容3②设计原理3SOCKET连接过程3Server-Client模型的程序3常用的Socket类型4③设计过程4I.程序设计流程及源代码:5II.调试分析过程描述:15III.结果分析:26结论26参考文献26摘要电脑时间不对,想校时的时候,又连不上INTERNET,又不想手动输入命令时。怎么办?于是我制作了个校时软件。只要有另台电脑的准确时间,一个局域网内,就可以轻松打两行命令,亦或点击两下鼠标,就可以校时了哦。正文①

2、设计内容用socket编程接口编写两个程序,分别为客户机程序(client.cpp)和服务器程序(server.cpp),使用UDP传输层协议,该程序应能实现的功能。客户端能够从服务器端取出标准时间,然后同步本机时钟。服务器不需要界面,我就做了一个Win32ConsoleApplication客户端我做了两个,一个是WIN32ConsoleApplication,和MFCAppWizard[exe]可视化操作②设计原理SOCKET连接过程根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认。  服务器监听:是服务器端套接字并不定

3、位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态。  客户端请求:是指由客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。  连接确认:是指当服务器端套接字监听到或者说接收到客户端套接字的连接请求,它就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,连接就建立好了。而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。Server-Client模型的程序服务器,使用Serve

4、rSocket监听指定的端口,端口可以随意指定(由于1024以下的端口通常属于保留端口,在一些操作系统中不可以随意使用,所以建议使用大于1024的端口),等待客户连接请求,客户连接后,会话产生;在完成会话后,关闭连接。  客户端,使用Socket对网络上某一个服务器的某一个端口发出连接请求,一旦连接成功,打开会话;会话完成后,关闭Socket。客户端不需要指定打开的端口,通常临时的、动态的分配一个1024以上的端口。  Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络

5、编程,必须理解Socket接口。常用的Socket类型  有两种:流式Socket(SOCK_STREAM)和数据报式Socket(SOCK_DGRAM)。流式是一种面向连接的Socket,针对于面向连接的TCP服务应用;数据报式Socket是一种无连接的Socket,对应于无连接的UDP服务应用。③设计过程首先设计服务器,创建Win32ConsoleApplication的工程工程名称为TimeServer先编写一个简单的UDPserver程序然后修改,编写获取时间子函数,加进去。然后编写UDPclient在本机用命令提示符或cmd调试调试+反复修改直到我满意为止双机调试,先构建一个小型局

6、域网。用一路由器,设置好IPADDRESS因为本机操作,时间是取自本机,又修改本机,无法知道双机调试,先改乱客户端时间不准确然后开始运行程序直到达到功能为止还没完。服务器,客户端的WIN32程序弄好了。但一般使用电脑校时的用户,大多不会输入命令所以在客户端加做个MFC,可视化。最后写报告。I.程序设计流程及源代码:给出完整的设计流程图,详细描述程序中各函数的调用关系,以及源程序清单;用的是亿图软件画的,然后截图过来。后来才发现也能复制过来。头文件到主函数之前,都是边做边修改。其实是先写主函数,后面在加东西进去的#include"stdafx.h"#include"stdlib.h"#prag

7、macomment(lib,"ws2_32.lib")#include"stdio.h"#include#include"WINSOCK2.H"SYSTEMTIMEst;//这个结构体,是微软存放时间的。voidGetTime();//这个是子函数,先调用到内存中。定义在末尾先编写的主函数intmain(intargc,char*argv[]){if(argc!=2){fprintf(stder

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。