TCP-IP网络编程第11章.pptVIP

  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文档。上传文档
查看更多
11.3 网络信息获取函数及其应用 11.3.8 根据服务名取得相关服务信息——getservbyname()和WSAAsyncGetServByName() 返回对应于给定服务名和协议名的相关服务信息。这两个函数要用到一个如下所示的结构: struct servent{ char FAR* s_name; char FAR* FAR* s_aliases; short s_port; char FAR * s_proto; }; 第*页 11.3 网络信息获取函数及其应用 11.3.9 根据端口号取得相关服务信息——getservbyport()和WSAAsyncGetServByPort() 返回对应于给定端口号和协议名的相关服务信息。 在Winsock 1中提供的格式是: struct servent FAR *getservbyport( int port, const char FAR *proto ); 第*页 11.3 网络信息获取函数及其应用 11.3.10 网络信息获取函数应用实例 以上介绍的网络信息获取函数,本小节举一个实例来说明这些函数的用法。本实例只使用了三个比较典型的函数,其他函数的用法与它们的用法类似。要说明的是虽然这只是一个关于网络信息获取函数用法的实例,但该程序也是一个非常有用的实用程序,它可以获得一台主机的主机名、主机别名(如果有的话)、主机IP地址列表等信息。 第*页 11.4 套接口选项函数及其应用 11.4.1 套接口选项函数说明 套接口选项获取函数getsockopt(): int setsockopt( SOCKET s, int level, int optname, const char FAR* optval, int optlen ); 第*页 11.4 套接口选项函数及其应用 11.4.1 套接口选项函数说明 套接口选项设置函数setsockopt(): int getsockopt( SOCKET s, int level, int optname, char FAR* optval, int FAR* optlen ); 第*页 11.4 套接口选项函数及其应用 11.4.2 SOL_SOCKET选项级别 SOL_SOCKET级别的选项主要针对传输层协议(TCP或UDP)。 在SOL_SOCKET选项级别下,套接口的选项有两种类型:一种是值为布尔型的选项,这种选项可以允许或禁止一种特性;另一种是值为整型或结构型的选项,这种选项可以用来设置系统工作时的某些参数等内容。 允许一个布尔型选项,则将optval指向一个非零的整型数;禁止一个布尔型选项,可以将optval指向一个等于零的整型数。对于布尔型选项,optlen应等于sizeof(int)。对于非布尔型的其他选项,optval应该指向包含所需选项的整型量或结构量,而optlen则为整形量或结构量的长度。 还要注意一个问题,套接口的有些属性值既可以设置(即可以使用setsockopt()函数)也可以获取(即使用getsockopt()函数),但有些套接口属性只能获取或只能设置。 第*页 11.4 套接口选项函数及其应用 11.4.3 IPPROTO_IP选项级别 IPPROTO_IP这一级别的套接口选项是针对网络层协议的,即IPv4协议,所以这些选项字段均以IP开头。这些选项字段的声明大都放在Winsock.h和Winsock2.h这两个头文件内。 第*页 11.4 套接口选项函数及其应用 11.4.4 IPPROTO_TCP选项级别 该选项是针对TCP协议的。在Winsock中仅有一个IPPROTO_TCP级别的选项,即TCP_NODELAY选项,该选项用来打开或关闭Nagle算法。如果该选项的值为TRUE,就会在对应的套接口上禁止使用Nagle算法。但在系统默认情况下Nagle算法是打开的,该选项只适用于流式套接口(SOCK_STREAM),其地址族为AF_INET。这个选项可用在所有Winsock版本上,并得到了所有Win 32平台的支持。 第*页 11.4 套接口选项函数及其应用 11.4.4 IPPROTO_TCP选项级别 Nagle算法通过将未确认的数据存入缓冲区直到蓄足一个包后一起发送的方法,这样做的好处是可以减少主机发送的零碎小数据包的数目,以减少网络通信的开销,提高系统的吞吐量。但对于某些应用来说,这种算法将降低系统性能,例如交互性较强的Telnet应用程序,用户可通过它登录至一台远程机器,然后向其传送命令。通常,用户每秒钟只会进行少量的键击,若Nagle算法在起作用,便会造成响应的迟钝,甚至造成对方主机不予应答

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档