首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux系统下socket编程socket接口介绍(二)

前言 在上一篇文章里面我们介绍了TCP的三次握手和四次挥手过程的介绍以及网络编程里面的一些api接口函数的介绍——Linux系统下socket编程之socket接口介绍(一)。...(这个转换完后不能用于网络传输,还需要调用htons或htonl函数才能将主机字节顺序转化为网络字节顺序,这两个函数先不讲,实战遇到的话,再进行解析),具体可以看下面Linux的源文: inet_aton...char *dst, socklen_t size); 我们先来看inet_ntop这个函数,第一个参数表示地址族(就是ipv4和ipv6),它的作用是把二进制格式转化为点分十进制的ip地址格式;inet_ntop...is now considered to be deprecated in favor of inet_ntop()....(2)struct sockaddr,这个结构体是linux的网络编程接口中用来表示IP地址的 标准结构体,bind、connect等函数中都需要这个结构体,这个结构体是兼容IPV4和IPV6的。

3.7K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    linux网络编程之socket(一):socket概述和字节序、地址转换函数

    各种socket地址结构体的开头都是相同的,对于unix 的某些实现来说 前8位表示整个结构体的长度,后8位表示地址类型,而Linux就没有长度字段,前2个字节都是地址类型。...printf("%x %x %x %x\n", p[0], p[1], p[2], p[3]);     return 0; } 输出为: simba@ubuntu:~/Documents/code/linux_programming...in_addr转字符串的函数: char *inet_ntoa(struct in_addr inaddr); const char *inet_ntop(int family, const void...其中inet_pton和inet_ntop不仅可以转换IPv4的in_addr,还可以转换IPv6的in6_addr,因此函数接口是void *addrptr。...原始套接字(SOCK_RAW) 参考: 《Linux C 编程一站式学习》 《TCP/IP详解 卷一》

    1.9K00

    linux ioctl函数详解,ioctl函数详解「建议收藏」

    1.介绍 Linux网络程序与内核交互的方法是通过ioctl来实现的,ioctl与网络协议栈进行交互,可得到网络接口的信息,网卡设备的映射属性和配置网络接口.并且还能够查看,修改,删除ARP高速缓存的信息...err){inet_ntop(AF_INET,&sin->sin_addr.s_addr,ip,16);//转换的字符串保存到ip数组中,第二个参数是要转换的二进制IP指针,第三个参数是转换完成存放IP...err){inet_ntop(AF_INET,&sin->sin_addr.s_addr,ip,16);printf(“SIOCGIFDSTADDR:%s\n”,ip);}//查询子网掩码err=ioctl...err){inet_ntop(AF_INET,&sin->sin_addr.s_addr,ip,16);printf(“SIOCGIFNETMASK:%s\n”,ip);}//设置IP地址,设置网络接口...(AF_INET,&broadcast->sin_addr.s_addr,ip,16);//inet_ntop将二进制IP转换成点分十进制的字符串printf(“BROADCAST IP:%s\n”,ip

    2.7K50

    【Socket】Socket相关概念及函数

    Socket详解 套接字概念 概念 Socket中文意思是"插座",在Linux环境下,用于表示进程间网络通信的特殊文件类型。本质为内核借助缓冲区形成的伪文件。...Linux系统将其封装成文件的目的是为了统一接口,使得读写套接字和读写文件的操作是一致的。区别是文件应用于本地持久化数据的读写。而套接字多应用于网络进程间数据的传递。...--- IP地址转换函数 #include int inet_pton(int af, const char *src, void *dst); const char *inet_ntop...char *dst, socklen_t size); af 取值可选为 AF_INET 和 AF_INET6 ,即和 ipv4 和ipv6对应 支持IPv4和IPv6 其中inet_pton和inet_ntop...AF_INET 这是大多数用来产生socket的协议,使用TCP或UDP来传输,用IPv4的地址 AF_INET6 与上面类似,不过是来用IPv6的地址 AF_UNIX 本地协议,使用在Unix和Linux

    82310

    IOS 下三种 DNS 解析方式分析(LocalDns)

    =NULL; pptr++) { NSString * ipStr = [NSString stringWithCString:inet_ntop(hptr->h_addrtype, *...所以到真正需要打印出这个 IP 的话,需要调用 const char *inet_ntop(int af, const void *src, char *dst, socklen_t cnt) ,来把它转成...有可能我即使切换了无数个网络,但是从早到晚同一个域名总是解析出同样的 IP, 网上说的比较多的问题 # 方式二 除了经常用到的 gethostbyname (3) 和 gethostbyaddr (3) 函数以外,Linux...NSLog(@"11111 === ip === %@ === time cost: %0.3fs", ipList,end - start); } # 参数解析 由于该逻辑是 Linux...底层提供的代码,苹果用宏做了一次封装,具体的函数含义还需要对 Linux 内核的理解,这里放一篇参考资料 # 优点: 在 LocalDns 被破坏掉的情况下能及时响应不会延迟。

    3.5K30
    领券