网络编程API.docVIP

  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文档。上传文档
查看更多
网络编程API

网络API 索引: 1.字节序函数 2.字节操作函数 3.地址转换函数 4.readn、writen和readline 5.测试描述符类型 6.socket函数 7.connect函数 8.bind函数 9.listen函数 10.accept函数 11.close函数 12.getsockname和getpeername 13.select函数 14.shutdown函数 15.pselect函数 16.poll函数 17.getsockopt和setsockopt 18.套接口选项列表 19.处理套接口的fcntl函数 20.gethostbyname函数 21.gethostbyname2函数 22.ethostbyaddr函数 23.uname函数 24.gethostname函数 25.getservbyname函数 26.getservbyport函数 27.recv和send 28.readv和writev 29.readmsg和writemsg 30.socketpair函数 31.套接口ioctl函数 1.字节序函数 #include netinet.h uint16_t htons(uint16_t host16bitvalue); uint32_t htonl(uint32_t host32bitvalue); 返回:网络字节序值 uint16_t ntohs(uint16_t net16bitvalue); uint32_t ntohl(uint32_t net32bitvalue); 返回:主机字节序值 一个测试本机字节序的程序,可参见见unpv12e:intro/byteorder.c。 2.字节操作函数 #include strings.h void bzero(void *dest, size_t nbytes); void bcopy(const void *src, void *dest, size_t nbytes); int bcmp(const void *ptr1, const void *ptr2, size_t nbytes); 返回:0—相等,非0—不相等 #include string.h void *memset(void *dest, int c, size_t len); void *memcpy(void *dest, void *src, size_t nbytes); int memcmp(const void *ptr1, const void *ptr2, size_t nbytes); 返回:0—相同,0或0—不相同;进行比较操作时,假定两个不相等的字节均为无符号字符(unsigned char)。 3.地址转换函数 #include arpa/inet.h int inet_aton(const char *strptr, struct in_addr *addrptr); 返回:1—串有效,0—串有错。 in_addr_t inet_addr(const char *strptr); 返回:若成功,返回32为二进制的网络字节序地址;若有错,则返回INADDR_NONE。 char *inet_ntoa(struct in_addr inaddr); 返回:指向点分十进制数串的指针。 int inet_pton(int family, const char *strptr, void *addrptr); 返回:1—成功;0—输入不是有效的表达格式,-1—出错。 const char *inet_ntop(int family, const void *addrptr, char *strptr, size_t len); 返回:指向结果的指针—成功,NULL—失败。 说明: inet_aton函数的指针若为空,则函数仍然执行输入串的有效性检查,但不存储任何结果。 inet_addr的缺陷:出错返回值INADDR_NONE等于55(IPv4的有限广播地址),所以该函数不能处理此地址。 尽量使用inet_aton,不使用inet_addr。 inet_ntoa函数的执行结果放在静态内存中,是不可重入的。 参数family可以是AF_INET,也可以是AF_INET6,若参数family不被支持,则出错,errno置为EAFNOSUPPORT。 指针addrptr是结构指针。 len指定目标的大小,避免缓冲区溢出。如果len太小,则返回一个空指针,errno置为ENOSPC。为有助于规定该大小,有如下定义: #include netinet.h #define INET_ADDRSTRLEN 16 /*fro IPv4 dotted-decimal

文档评论(0)

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

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

1亿VIP精品文档

相关文档