[工学]02 Winsock编程.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]02 Winsock编程

套接字间通信 套接字间接收数据: UDP连接中,客户端和服务器端都通过recvfrom()函数接收数据。 recvfrom() 参数1:获取消息端的socket描述符 参数2:用于保存数据的缓冲区的指针 参数3:保存数据的缓冲区的长度 参数4:可用于处理带外数据等,一般置为0 参数5:指向发送方地址结构的指针 参数6:地址结构的长度 返回值:本次函数调用中,实际拷贝获得数据的字节数 关闭连接 关闭套接字: 一旦客户端或服务器端不再需要使用套接字,可用调用closesocket()终止与该套接字关联的UDP连接,并回收该套接字。 closesocket(s); 参数1:需要关闭的socket描述符 清理: 当应用程序不再需要使用套接字时,必须调用WSACleanup(),回收所有被分配的资源。 WSACleanup(); 相关函数 Inet_addr 把字符类型的IP地址转换成用.分开的二进制地址形式 Inet_ntoa 把二进制的地址转化成字符形式的IP地址。 相关函数 gethostbyname 根据域名来获得IP地址 gethostbyaddr 根据IP地址获得域名 返回值都是hostent结构体 相关函数 struct hostent { char FAR * h_name; /* official name of host */ char FAR * FAR * h_aliases; /* alias list */ short h_addrtype; /* host address type */ short h_length; /* length of address */ char FAR * FAR * h_addr_list; /* list of addresses */ #define h_addr h_addr_list[0] /* address, for backward compat */ }; 网络游戏编程 二 Winsock编程 为什么使用TCP/IP TCP/IP软件可以在不同厂商提供的机器环境中运行。这是因为TCP/IP协议软件平台是独立的,不依赖于任何厂商的内部数据表示方法,也不使用仅仅被部分计算机系统所支持的特性。 TCP/IP软件可以为TCP信息段从源到目的地之间的传输提供可靠保障。 TCP/IP标准不指定应用软件与TCP/IP协议软件之间的接口,该标准仅仅对所需功能提出建议。这样做的优点是保证了在不同操作系统中使用TCP/IP协议软件的灵活性与兼容性 为什么使用TCP/IP API 对编程人员来说,利用TCP/IP 协议软件编程过于底层,因为它要求编程人员了解TCP信息段的所有区段,这样的编程过程过于繁重。所以,最好有一套友好的API,可以供编程人员直接调用,以此实现相关功能。目前,被广泛使用的TCP/IP的API主要有: 伯克利UNIX套接字接口发布版(Berkeley UNIX socket interface distribution (BSD) System V UNIX 传输层接口(Transport Layer Interface ,TLI) Windows 套接字接口 (WinSock) 套接字(Socket) 网络中的通信接口被称为“套接字”。套接字的行为类似一个通信端点(endpoint)。 TCP/IP的套接字接口首先在Berkeley的UNIX机中实现,随后被引入到其它平台。 在Windows中,套接字接口被称为Windows Socket,或WinSock,或Windows Socket API。 TCP/IP网络通信接口,类似 “插座(socket)” Winsock WinSock提供了一个函数库,这些函数根据重要性被分为两类: 重要的套接字函数:例如socket(),bind(),accept(),connect()等。 其它辅助函数:例如getserverbyname(),htons() 等 WinSock执行与TCP/IP协议软件的交互功能 WinSock与协议 WinSock是一个接口,而不是协议本身。 WinSock支持TCP/IP, NetBIOS, IPX/SPX, AppleTalk等网络协议 某些不同协议族接口间通信 相同协议族接口间通信 (在很多情况下,服务器端和客户端使用不同的协议族,即使使用相同的API,也无法通信。) 套接字分类 套接字主要分为三类: 流套接字(stre

文档评论(0)

skvdnd51 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档