网络编程技术.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文档。上传文档
查看更多
网络编程技术 主讲:时代中安技术培训有限公司 学校地址:北京市海淀区花园路小关街126号万盛 商务会馆A区 联系电话:010 时代中安技术培训有限公司 第一章 Winsock基础 时代中安技术培训有限公司 本章专门讲解编写成功网络应用程序时所需的基本知识和A P I 调用。我们打算讨论如何从网络上的一台机器到另一台机器建 立连接,以及如何收发数据。为使问题简单明了和免于重复, 本章的讨论限定在T C P / I P协议的范围之内。 对于接受连接、建立连接和收发数据所需的Wi n s o c k调用,本 章展示的例子有助于大家对它们的理解。由于本章的目的是学 习这些Wi n s o c k调用,因而我们举的例子均采用了直接的成 块Wi n s o c k调用。 时代中安技术培训有限公司 1、Winsock的初始化 每个Winsock应用都必须加载Winsock DLL 的相应版本。如果 调用Winsock之前,没有加载Winsock库,这个函数就会返回 一个SOCKET_ERROR,错误信息是 WSANOTINITIALISED 。 加载Winsock库是通过调用WSAStartup 函数实现的。这个函数 的定义如下: int WSAStartup( WORD wVersionRequested, LPWSADATA lpWSAData ); wVersionRequested参数用于指定准备加载的Winsock库的版 本。高位字节指定所需要的 Winsock库的副版本,而低位字节则是主版本。然后,可用宏 MAKEWORD(X,Y) (其中,x是 高位字节,y是低位字节)方便地获得wVersionRequested 的正 确值。 时代中安技术培训有限公司 lpWSAData参数是指向LPWSADATA结构的指针, WSAStartup用其加载的库版本有关的 信息填在这个结构中: typedef struct WSAData { WORD wVersion; WORD wHighVersion; char szDescription[WSADESCRIPTION_LEN+1]; char szSystemStatus[WSASYS_STATUS_LEN+1]; unsigned short iMaxSockets; unsigned short iMaxUdpDg; char FAR* lpVendorInfo; } WSADATA, *LPWSADATA; 时代中安技术培训有限公司 2、错误检查和控制: 对编写成功的Winsock应用程序而言,错误检查和控制是至关重要 的,因此,我们打算先为大家介绍错误检查和控制。事实上,对 Winsock 函数来说,返回错误是非常常见的。但是,多数情况下, 这些错误都是无关紧要的,通信仍可在套接字上进行。尽管其返回 的值并非一成不变,但不成功的Winsock调用返回的最常见的值是 SOCKET_ERROR。 如果调用一个Winsock 函数,错误情况发生了,就可用 WSAGetLastError 函数来获得一段代码, 这段代码明确地表明发生的状况。该函数的定义如下: int WSAGetLastError(void); 发生错误之后调用这个函数,就会返回所发生的特定错误的完整代 码。WSAGetLastError 函数返回的这些错误都已预定义常量值,根据Winsock版本的不 同,这些值的声明不在Winsock 1.h 中,就会在Winsock 2.h 中。

文档评论(0)

智慧书苑 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档