WINDOWS网络编程技术现5.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
下载 第15章 微软Visual Basic Winsock控件 本章讲解微软Visual Basic Wi n s o c k控件的问题。这是一种非常新的控件,用于将 Wi n s o c k 接口简化成易于使用的 Visual Basic 内部接口。在这种控件问世之前,要想通过 Visual Basic进 行网络编程,唯一的办法便是将所有 Wi n s o c k 函数都从D L L (动态链接库)中导入,然后重新 定义必要的结构。而你可以想象,那些结构的数量有多少!这一过程会耗费程序员大量的时 间,且极易出错。常见错误包括类型声明的错误配合等等。然而,假如你真的需要直接从 Wi n s o c k 导入Visual Basic ,从而获取更大的灵活性,亦可参考一下本书第二部分一直都在讲 述的各个Visual Basic 示例。在每个Visual Basic示例中,都包含了一个文件: Wi n s o c k . b a s ,它 负责着必要常数及函数的导入。本章的重点只放在 Visual Basic W i n s o c k控件身上。在本章的 开头,将概述控件的属性及方法,然后提供几个例子,引导大家具体使用这种控件。 第一个Wi n s o c k控件是随Visual Basic 5.0 引入的。后来,随同Visual StudioService Pack 2 (S P 2 ),提供了一个经过修订的控件。后来又发布了 Service Pack 3 (S P 3 ),但该控件并未对 S P 2 的那个版本进行什么改进。而在 Visual Basic 6.0 中,我们拿到了最新的Wi n s o c k控件。在 本章要结束的时候,会对其各个版本的差异进行详细讲解。 要注意的是,Wi n s o c k控件只为Winsock API 函数提供了一个基本接口。和Wi n s o c k不一样, Wi n s o c k并非一个“与协议无关”的接口,它只能使用 I P传送协议!除此以外,该控件建立在 Winsock 1.1 版本规范的基础上。控件同时支持 T C P 以及U D P ,但支持程度偏低,许多特性都 无法使用。控件本身不能访问任何套接字选项。换言之,像多播及广播之类的特性便无法使 用。总之,只有在你仅仅需要基本的网络数据通信的前提下,才可考虑使用 Wi n s o c k控件。它 的性能无论如何都不是最好的,因为在数据传给系统之前,需要先将数据缓冲到控件内部, 这样便增加了额外的开销,同时产生了一些不确定性的因素。 15.1 属性 现在,大家对控件具有的一些功能已有了一个基本概念。接下来,且让我来看看该控件 提供了哪些属性。在表 1 5 - 1中,我们对可用的属性进行了一番总结。这些属性可对控件的行 为产生影响,同时可用来获取与控件状态有关的信息。 通过第 7 章的阅读,大家应该早已熟悉了这些基本属性。它们明显类似于第 7 章在客户 机/服务器示例中讨论的各个基本 Wi n s o c k 函数。但也有少数几个属性并非与 Winsock API 存 在严格的对应关系,应好好地设置它们,以便正确地使用该控件。首先要注意的是 P r o t o c o l属 性,我们应设置它,告诉控件自己需要的是哪种类型的套接字—要么是 S O C K _ S T R E A M (数据流),要么是S O C K _ D G R A M (数据报)。在实际工作中,控件会自动执行实际的套接字 创建工作,而该属性是我们唯一能对其施加控制的渠道。在连接成功建立之后,或在完成了 服务器的绑定,令其等候一次连接之后,可读取 S o c k e t H a n d l e (套接字句柄)属性的内容。 之所以要这样做,是由于在某些情况下,我们希望将句柄传递给自一个 D L L 导入的其他 Winsock API 函数。利用S t a t e (状态)属性,我们可获取与控件目前正在做的工作有关的信息。 398计计第二部分附Winsock API 下载 这种信息是至关重要的,因为控件本身是以“异步”方式工作的,事件可能在什么时刻“触 发”。利用这个属性,便

文档评论(0)

zhuanqmf01 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档