- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 网络编程 5.1 客户/服务器模型 客户机/服务器模型的主要思想是要将应用程序的数据表示与数据处理和数据存储分开。客户方主要是向服务器发出数据处理请求,然后对结果数据进行表示输出。服务器方则是对数据处理请求进行接收,然后做出相应处理,处理方式有很多种,比如运算、检验、存储等,最后将处理后的结果返回给客户方。 5.1.1 TCP/IP 协议就是约定,就是双方为了协调地做一件事情而共同遵循的规则。Internet中常用协议有很多,常被统称为TCP/IP协议簇。 5.1.2 TCP和UDP 传输控制协议(TCP)提供了客户机/服务器应用彼此通信的可靠的、点对点、面向连接的通信。 用户数据报协议(UDP) 则是一个非连接型(Connectionless)的非可靠传输协议﹐它并不会运用确认机制来保证资料是否正确地被接收,不需要重传遗失的资料,资料的接收可不必按顺序进行,也不提供回传机制来控制资料流的速度。 5.1.3 套接字(Socket) 套接字是对采用TCP/IP协议进行数据通信时的一个抽象概念,它包含主机地址与服务端口号。在Internet中,主机地址就是客户程序或服务器程序所在的主机的IP地址,端口号则是主机间彼此通信时所引入的一个整数类型的逻辑编号,使得不同程序可以在同一主机上被唯一标识。 端口 5.2 简单的网络应用 Winsock 控件对用户来说是不可见的,它提供了访问 TCP 和 UDP 网络服务的方便途径。Microsoft Access、Visual Basic、Visual C++ 或 Visual FoxPro 的开发人员都可使用它。 5.2 简单的网络应用 5.3 网络消息传输设计 5.3.1 Winsock控件实现服务器端 1.接收远程主机的连接请求 2.接收远程主机发来的消息 1.接收远程主机的连接请求 根据socket的原理,服务器端的工作是在机器的某个端口进行监听,一旦有客户请求就会进行响应,然后与客户建立持久连接。 2.接收远程主机发来的消息 通过以上的步骤,Winsock控件就可以算是一个Winsock服务器控件了,只有服务器端执行了Accept()方法接受了客户端发来的请求,客户端才能够发送消息给服务器。 服务器端实现 1、窗体布局 2、监听并接收远程请求 3、接收远程主机发来的消息 5.3.2 Winsock控件实现客户端 1.向远程服务器请求连接 2.发送数据给远程服务器 1.向远程服务器请求连接 在建立连接时,我们必须知道远程服务器的IP地址以及该服务器所监听的端口号。表中所示是有关建立连接所需要的属性和方法。 2.发送数据给远程服务器 连接好建立之后,我们可以向远程服务器发送消息了。发送消息的方法很简单,通过调用SendData()方法我们就可以实现消息的发送。 客户端实现 1、布局窗体 2、建立连接 3、发送消息 5.4 网络文件传输设计 文件的传输和消息的传递是相类似的,不同的地方是文件数据量比一般的消息要大很多,所以在传输的时候必须分段传输,接收方需要分段接收并将接收到的数据整合成文件。 5.4.1 Winsock控件实现客户端 选择需要发送的文件 传输文件,并对文件传输能实时控制和了解,比如中断传输、显示传输进度条。 1 .选择需要发送的文件 用户单击“文件传输”按钮弹出一个文件选择框,从中选择需要发送的文件。实现这个效果我们需要借助CommonDialog控件。 2.传输文件 (1)需求中已经明确说明文件的传输不能影响消息的传送,也就是说在文件的传输过程中,双方的消息传送还是可以继续进行。所以在该应用程序中,用于消息传送的winsock控件是不能用来传送文件的,必须另外增加winsock控件来传输文件。 (2)文件在传送过程中必须能够被实时控制,如中断传送。那么传输方或者接收方中断文件传送的信号必须让对方知道,从而使对方放弃传输或者接收文件。所以应该再增加一个winsock控件来传送控制信息。 2.传输文件 2.传输文件 (3)文件传输过程必须被实时了解,所以进度条是必不可少的控件。在这里提醒读者的是,如果某一个处理过程需要发费比较长的时间的话,读者尽量采用进度条来显示处理的进展情况,使用户起码知道处理工作正在进行中。 按步骤在该窗体中所添加相应的代码 (1)在通用栏中声明一些变量用来接收文件名以及文件大小等内容。 (2)在窗体加载的时候,初始化进度条以及两个Winsock控件 (3)接收远程发来的控制信息 (4)定义发送文件的函数,由于文件不同与消息
您可能关注的文档
- Visual Basic程序设计实践教程 教学课件 作者 王成敏 李忠 第2章.ppt
- Visual Basic程序设计实践教程 教学课件 作者 王成敏 李忠 第3章.ppt
- Visual Basic程序设计实践教程 教学课件 作者 王成敏 李忠 第4章.ppt
- Visual Basic程序设计实践教程 教学课件 作者 王成敏 李忠 第5章.ppt
- Visual Basic程序设计实践教程 教学课件 作者 王成敏 李忠 第6章.ppt
- Visual Basic程序设计实践教程 教学课件 作者 王成敏 李忠 第7章.ppt
- Visual Basic程序设计实践教程 教学课件 作者 王成敏 李忠 第8章.ppt
- Visual Basic程序设计实践教程 教学课件 作者 王成敏 李忠 第9章.ppt
- Visual Basic程序设计实践教程 教学课件 作者 王成敏 李忠 第10章.ppt
- Visual Basic程序设计实践教程 教学课件 作者 王成敏 李忠 第11章.ppt
- Visual Basic软件开发技术 教学课件 作者 李洛 罗佳 吴绍根 陈建潮 在VB中使用Win32 API函数第1章.ppt
- Visual Basic数据库应用 教学课件 作者 王志梅 主编 张焰林 副主编 VB数据库应用电子教案.ppt
- Visual Basic语言程序设计付永平电子教案 第1章Visual Basic概述.ppt
- Visual Basic语言程序设计付永平电子教案 第2章Visual Basic基本知识.ppt
- Visual Basic语言程序设计付永平电子教案 第3章 分支和循环.ppt
- Visual Basic语言程序设计付永平电子教案 第4章 Visual Basic控件基.ppt
- Visual Basic语言程序设计付永平电子教案 第5章 创建应用程.ppt
- Visual Basic语言程序设计付永平电子教案 第6章 错误处理与调试.ppt
- Visual Basic语言程序设计付永平电子教案 第7章 数组.ppt
- Visual Basic语言程序设计付永平电子教案 第8章 过程.ppt
文档评论(0)