13第13章 网络编程工具介绍.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文档。上传文档
查看更多
* * 习题 在Linux下,本机通信、IPV4、IPV6的地址是怎样的数据类型,有哪些点分十进制与unsigned int类型地址转换函数? TCP与UDP的主要区别是什么?TCP的可靠是否是说通信线路的可靠? 一个可以路由的数据包至少应该包含哪些基本信息(端口,IP地址)。 使用TCP实现一对一C/S数据传输。双向。两个人一起,一个做客户端,一个做服务端。或者自己的(本地回环地址)。实时数据传输。 使用UDP实现一对一C/S数据传输。双向。两个人一起,一个做客户端,一个做服务端。或者自己的(本地回环地址)。实时数据传输。 accept 为什么要返回一个新的文件描述符? UDP方式网络编程中可否使用read/write,为什么,如果可以,采用怎么样的方式处理? 第13章 网络编程工具介绍 1 2 地址处理函数说明 域名与IP信息解析 3 控制socket文件描述符属性 4 网络调试工具 * * 大小端问题 小端(Little-endian):高地址存储高字节。 大端(Big-endian):高地址存储低字节。 X86平台:小端模式。 网络:大端方式。 * * 字节排列顺序 * * 测试代码 如果要检测其它平台下字节顺序,可以使用共用体来检测 ,共用体的存放顺序是所有成员都从低地址开始存放。 * * 字节顺序处理函数 在存储主机信息时,IP地址与端口号需要存储为网络的大端模式,因此在为网络地址赋值时需要进行转换,例如,添加端口的代码如下: struct sockaddr_in s_addr; s_addr.sin_port = htons(7838); //端口信息赋值 * * 点分十进制IP地址与二进制IP地址转换 inet_addr()函数将点分十进制的字符串转换为32位的网络字节顺序的IP信息。 inet_network ()函数将点分十进制的字符串转换为32位的主机字节顺序的IP信息。 inet_ntoa()函数将32位的网络字节顺序的IP信息转换成点分十进制的字符串方式。 * * 示例代码 * * inet_pton()/inet_ntop根据协议转换 * * 示例代码 第13章 网络编程工具介绍 1 2 地址处理函数说明 域名与IP信息解析 3 控制socket文件描述符属性 4 网络调试工具 * * Linux下域名解析过程 * * gethostbyname() /gethostbyname2() * * 通过域名和IP返回主机信息 参数1:addr 类型为char,含义是指向一个数组的指针,该数组含有一个主机地址(如IP地址)信息。 参数2:len 类型为int,含义是一个整数,它给出地址长度(IP 地址长度是4); 参数3:type 类型为int,含义是一个整数,它给出地址类型(IP 地址类型为AF_INET)。 如果成功,gethostbyaddr返回一个hostent 结构的指针。如果发生错误,返回0。 * * 应用示例 见代码。 * * getaddrinfo获取主机信息 此函数第1个参数node为节点名:可以是主机名,也可以是二进制地址信息,如果是IPV4则为点分10进制,或是IPV6的16进制。 此函数第2个参数servname:包含十进制数的端口号或服务名,例如(ftp,http)。 这两个参数并不是总需要,如果此函数只用于域名解析,第2个参数可以不需要,如果要直接绑定到某个地址,例如访问对方的FTP服务器,则需要指定该端口号。 此函数第3个参数hints:一个空指针或指向一个addrinfo结构的指针,由调用者填写关于它所想返回的信息类型。 此函数第4个参数res:此参数用来存放返回addrinfo结构链表的指针地址信息。 * * 结构体struct addrinfo * * 应用示例 见代码。 第13章 网络编程工具介绍 1 2 地址处理函数说明 域名与IP信息解析 3 控制socket文件描述符属性 4 网络调试工具 * * set/getsockopt() * * SOL_SOCKET的选项 * * IPPROTO_IP , IPPROTO_TCP * * 应用示例 见代码。 * * fcntl控制socket 控制socket为非阻塞方式 * * fcntl控制socket 设置socket为信号驱动型socket,其将使socket在状态发生改变时产生SIGIO信号。 * * fcntl控制socket (3)使用F_SETOWN选项设置socket的拥有者以接收SIGIO和SIGURG 信号。如下示例: fcntl(socket, F_SETOWN, getpid()); (4)使用F_GETOWN选

文档评论(0)

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

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

1亿VIP精品文档

相关文档