《最新VC059远程控制软件的设计与开发答辩稿(共21张PPT课件).pptx》由会员分享,可在线阅读,更多相关《最新VC059远程控制软件的设计与开发答辩稿(共21张PPT课件).pptx(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 第一页,共二十一页。编写编写(binxi)目的目的 远程控制软件已经使用(shyng)很多年了,起初是为了让PC用户在离开办公室的时候能访问其台式PC硬盘中的信息,甚至可以通过其台式PC访问企业网络资源。今天,许多企业和增值分销商正在把远程控制能力作为有效的技术支持工具。许多网络管理员都采用这类软件对局域网进行管理或者在自己家更新自己网站的内容。这类软件对于出差在外的商务人员用处非常大,这样他们可以随时提取自己家里计算机中的数据和资料 .第二页,共二十一页。学习学习(xux)意义意义 开发一个软件系统,从需求分析到流程图的绘制及模块的分析,再到最后的数据库设计 及代码的编写实现都要自己动手一
2、步(y b)一步(y b)的来解决完成,这个过程对于自己在大学所学的知识是一个非常好的检验,对动手能力及思维能力也是一次非常好的锻炼。希望通过此次的研究学习,认清自己的不足之处,不断的去学习完善自己的理论知识,逐步提高动手能力,为以后的工作打下坚实的基础。第三页,共二十一页。用户需求用户需求(xqi)分析分析 本系统的具体(jt)功能及其操作流程,是实际调研所得到的。具有一定的实用性和可用性,管理人员的负担.节省时间,提高工作效率。权衡了现有的各种数据库及其开发过程中的优缺点,我们选用了VC6.0这一专业化的面向对象的C/S前台应用开发工具。第四页,共二十一页。远程远程(yunchng)控制概
3、念控制概念 第五页,共二十一页。系统功能系统功能(gngnng)简介简介 第六页,共二十一页。运行运行(ynxng)环境环境 硬件环境: Pentium 或更高档微机,笔记本电脑; 运行时内存要求:2MB; 安装所需硬盘 :5MB; 打印机:可选软件(run jin)环境: 中文Windows/2000/xp; 英文 Windows/2000/XP; 第七页,共二十一页。系统系统(xtng)流程图流程图 第八页,共二十一页。远程远程(yunchng)按键控制的实现按键控制的实现 使用使用Winsocket建立控制端和被控制端连接建立控制端和被控制端连接 首先,客户端和服务器端都要创建一个数据套
4、接字。接着,服务器调用bind()函数给套接字分配一个公认的端口。这样,客户端和服务器端就使用同样的端口来表示服务器套接字。一旦(ydn)服务器将公认端口分配给了套接字,客户端和服务器端就都能使用sendto()和recvfrom()来发送和接收数据报直到完成传递。然后调用close socket来关闭套接字。 第九页,共二十一页。远程远程(yunchng)按键控制的实现按键控制的实现 1.初始化初始化WinsockWSAStartup()函数的原型声明如下:函数的原型声明如下:Int WSAStartup (WORD wVersionRequested, LPWSADATA lpWSADat
5、a );该函数共有两个参数。一个参数是一个该函数共有两个参数。一个参数是一个WORD(双字节)型数值,他指应用程序中要使用的(双字节)型数值,他指应用程序中要使用的WinSock规范的最高版本规范的最高版本(bnbn)。其中主版本。其中主版本(bnbn)在低位字节,副版本在低位字节,副版本(bnbn)号在高位字节。第二个参数指一个指向号在高位字节。第二个参数指一个指向WSDATA结构的指针,该结构的定义如下:结构的指针,该结构的定义如下:Typedef struct WSAData WORD wVersion; WORD wHighVersion; Char szDescriptionWSAD
6、ESCRIPTION_LEN+1; Char szSyestemStatusWSASYS_ STATUS_LEN+1; Unsigned short iMaxSocket; Unsigned short iMaxUdpDg; Char FAR * IpVendorInfo;WSADATA,FAR * LPWSADATA 第十页,共二十一页。远程远程(yunchng)按键控制的实现按键控制的实现 2.创建套接字创建套接字任何应用程序在使用套接字之前,首先必须拥有一个套接字,系统调用任何应用程序在使用套接字之前,首先必须拥有一个套接字,系统调用socket函数函数向应用程序提供创建套接字的手段。向
7、应用程序提供创建套接字的手段。Socket()函数的原型声明如下:函数的原型声明如下:SOCKET PASCAL FAR socket (int af,int type ,int protocol);该函数共有该函数共有3参数,其中参数参数,其中参数af指定通信发生的区域。指定通信发生的区域。UNIX系统支持的地址系统支持的地址簇有簇有AF_UNIX,AF_INET,AF_NS等。而等。而DOS,Windows中仅支持中仅支持AF_INET,它是网际网区域。它是网际网区域。参数参数type 描述建立的套接字类型。也就是指流式套接字还是数据报套接字。描述建立的套接字类型。也就是指流式套接字还是数
8、据报套接字。参数参数protocol说明该套接字使用的特定协议,如果该参数设为说明该套接字使用的特定协议,如果该参数设为0。则表示。则表示使用默认的连接模式使用默认的连接模式(msh)。Socket()函数根据这函数根据这3个参数建立一个套接字,并将相应的资源分配给它,个参数建立一个套接字,并将相应的资源分配给它,同时返回一个整型套接字句柄。同时返回一个整型套接字句柄。 第十一页,共二十一页。远程按键控制远程按键控制(kngzh)的实现的实现 3.指定本地地址指定本地地址当一个套接字用当一个套接字用socket()创建后,存在一个名字空间(地址簇),但它创建后,存在一个名字空间(地址簇),但它
9、没有被命名。没有被命名。Bind()将套接字地址(包括本地主机地址和本地端口地址)与所创将套接字地址(包括本地主机地址和本地端口地址)与所创建的套接字编号联系起来,即将名字赋予套接字。建的套接字编号联系起来,即将名字赋予套接字。bind()函数的原型声明如下:函数的原型声明如下:int PASCAL FAR bind (SOCKER s,const struct sockaddr FAR *name,int namelen);bind()函数共有函数共有3个参数,其中参数个参数,其中参数s是由是由socket()函数调用返回的并且函数调用返回的并且(bngqi)未作连接的套接字句柄。未作连接的
10、套接字句柄。参数参数name是赋给套接字是赋给套接字s的本地地址(名字),其长度可变,结构随通信的本地地址(名字),其长度可变,结构随通信域的不同而不同。域的不同而不同。参数参数namelen指参数指参数name 的长度。的长度。如果调用成功,如果调用成功,bind ()函数返回函数返回0;否则,返回;否则,返回SOCKER_ERROR。第十二页,共二十一页。远程按键远程按键(n jin)控制的实现控制的实现 4.建立套接字连接建立套接字连接建立套接字连接需要使用两个函数。即建立套接字连接需要使用两个函数。即connect()与与accept()。这两个函数用于完成一个完。这两个函数用于完成一
11、个完整相关的建立,其中整相关的建立,其中connect()用于建立连接。无连接的套接字进程也可以调用用于建立连接。无连接的套接字进程也可以调用connect(),但这时在进程之间没有实际的报文交换,调用将从本地操作系统直接返回。这样做的优点但这时在进程之间没有实际的报文交换,调用将从本地操作系统直接返回。这样做的优点是程序员不必为每一数据指定目的地址,而且如果收到一个数据报,其目的端口未与任何是程序员不必为每一数据指定目的地址,而且如果收到一个数据报,其目的端口未与任何套接字建立套接字建立“连接连接”,便能判断该端口不可操作。,便能判断该端口不可操作。Accept()用于使服务器等待来自某客户
12、用于使服务器等待来自某客户进程的实际连接。进程的实际连接。Connect()函数的原型声明如下:函数的原型声明如下:int PASCAL FAR connect(SOCKER s,const struct sockaddr FAR *name,int namelen);Connect()函数共有函数共有(n yu)3个参数,其中参数个参数,其中参数s指要建立连接的本地套接字句柄。指要建立连接的本地套接字句柄。参数参数name指对方套接字地址结构的指针,对方套接字地址长度由参数指对方套接字地址结构的指针,对方套接字地址长度由参数namelen说说明。明。如果调用成功,如果调用成功,connect
13、()函数返回函数返回0;否则,返回;否则,返回SOCKET_ERROR。 第十三页,共二十一页。远程远程(yunchng)按键控制的实现按键控制的实现 5.监听连接监听连接建立建立(jinl)连接之后,服务端套接字要调用连接之后,服务端套接字要调用listen()函数,此调用用于面向连接服函数,此调用用于面向连接服务器,表明它愿意接收连接。务器,表明它愿意接收连接。Listen()需在需在accept()之前调用,之前调用,listen ()函数的原函数的原型声明如下:型声明如下:int PASCAL FAR listen(SOCKET s, int backlog);该函数共有两个参数,其中
14、参数该函数共有两个参数,其中参数s标识一个本地已建立但尚未连接的套接字标识一个本地已建立但尚未连接的套接字句柄,服务器愿意从它上面接受请求。句柄,服务器愿意从它上面接受请求。参数参数backlog表示请求连接队列的最大长度,用于限制排队请求的个数。表示请求连接队列的最大长度,用于限制排队请求的个数。目前允许的最大值为目前允许的最大值为5。如果调用成功,如果调用成功,listen()函数返回零;否则,返回函数返回零;否则,返回SOCKET_ERROR。第十四页,共二十一页。远程远程(yunchng)按键控制的实现按键控制的实现 6 关闭套接字关闭套接字closesocket()关闭套接字关闭套接
15、字s,并释放分配给该套接字的资源;如果,并释放分配给该套接字的资源;如果s涉及一涉及一个打开个打开(d ki)的的TCP连接。则该连接被释放。连接。则该连接被释放。Closesocket()函数的原型声明如函数的原型声明如下:下:BOOL PASCAL FAR closesocket(socker s);该函数只有一个参数该函数只有一个参数s,它指待关闭的套接字句柄。,它指待关闭的套接字句柄。如果调用成功,如果调用成功,closesoker()返回零;否则,返回返回零;否则,返回SOCKET_ERROR。第十五页,共二十一页。系统实现系统实现(shxin)界面界面第十六页,共二十一页。更多界面
16、(jimin),请参见源程序第十七页,共二十一页。结结 论论 通过几月的系统分析、设计、开发,系统编码完成。在系统的开发过程中,以前学习感到很抽象的课程,如软件工程、数据库原理、面向对象程序设等变得清晰起来。感觉到这几门理论课程的重要性。以前做一些应用的系统开发,随意性大,想到那里做到那里,没有统一的规划(guhu),一旦系统成型,出现错误返工修改工作量大,最终的系统可靠性不高。另外一直以来,进行程序设计均采用结构化开发方法,对系统的全貌难以在开发前看到,导致实现的系统不满足需求。第十八页,共二十一页。致致 谢谢 首先,我要感谢我的指导教师*老师,老师有问必答敬业的精神深深的感染了我,促使我发
17、奋学习。 其次,我要感谢*老师,他不顾自己工作的繁忙,帮我解决了许多实践中遇到的问题。帮助我确定了论文题目,并把他以往总结的编程经验无私的教会(jiohu)了我。我还要感谢*的领导和老师们,他们为我提供了良好的学习环境。各位老师和同学本着严谨的作风、求实的态度给予了我许多帮助,在此我表示深深地感谢!第十九页,共二十一页。第二十页,共二十一页。内容(nirng)总结远程控制软件的设计与开发。这类软件对于出差在外的商务人员用处非常大,这样他们可以随时提取自己家里计算机中的数据和资料 .。本系统的具体功能及其操作流程,是实际调研所得到的。远程控制的原理很简单:在本机上直接启动运行的程序,拥有与使用(shyng)者(客户端)相同的权限。因此如果能够启动服务器端的服务程序,就可以使用(shyng)相应的客户端程序直接控制主机了。参数backlog表示请求连接队列的最大长度,用于限制排队请求的个数第二十一页,共二十一页。