关于SOCKET地址结构的地址转换

SOCKET地址结构的结构体是sockaddr_in,其中的sin_addr是关于SOCKET的地址的,sin_addr的子结构s_addr是IP地址有关的,是一个字,即0x123AAAAA类似的形式的变量。用inet_addr(“192.168.1.1”)的方式可以将IP地址转化为该形式。
IP地址是4个字节组成的,即4个0-255的数字组成的,存储的时候逆序储存。
用inet_ntoa()可以将一个0x123AAAAA形式的变量转为一个数组,其前4位是IP地址的各个位数,该函数的返回值是一个char型指针。

原文地址:http://blog.51cto.com/13715730/2106625

时间: 2024-10-31 01:30:27

关于SOCKET地址结构的地址转换的相关文章

套接字地址结构

大多数套接字函数都需要一个指向套接字地址结构的指针作为参数.每个协议簇抵都定义它自己的套接字地址结构 这些结构的名字均以sockaddr_开头,并以对应每个协议簇的唯一后缀结尾 1.IPv4套接字地址结构 IPv4套接字地址结构通常称为:网际套接字地址结构 它以sockaddr_in命名 struct  in_addr{ in_addr_t s_addr;//32位无符号整数类型 }; struct sockaddr_in{ unit8_t sin_len;//套接字地址结构长度 它是一个无符号

《TCP/IP协议详解 卷1》 第二章 Internet 地址结构

Internet 地址结构 连接到Internet的每个设备至少要有一个IP地址.基于TCP/IP协议的专用网络中使用的设备也需要IP地址. 表示IP地址 IPv4地址: 32bit 采用点分四组或者点分十进制表示.例如165.195.130.105 IPv6地址: 128bit 采用块或字段的四个十六位进制数表示.例如5f05:2000:80ad:5800:0058:0800:2023:1d71 该表示方法有以下共识: 块前导0必须省略,如上面的地址可以写成5f05:2000:80ad:580

【UNIX网络编程(一)】套接字地址结构、网络字节序和地址转换函数

引言:套接字地址结构在网络编程的每个实现中都要用到,因此掌握套接字地址结构是以后编写网络程序的前提,地址结构可以在两个方向上传递:从进程到内核和从内核到进程.地址转换函数在地址的文本表达和他们存放在套接字地址结构中的二进制值之间进行转换. 大多数套接字函数都需要一个指向套接字地址结构的指针作为参数.不同协议都有自己的套接字地址结构.通用的套接字地址结构是sockaddr.IPv4套接字地址结构是定义在头文件<netinet/in.h>中的sockaddr_in,其POSIX定义如下: stru

Linux中ip地址结构和ip地址的转换

ip地址结构 struct sockaddr_in { sa_family_t sin_family; /* address family: AF_INET */ in_port_t sin_port; /* port in network byte order */ struct in_addr sin_addr; /* internet address */ }; /* Internet address. */ struct in_addr { uint32_t s_addr; /* add

高德地图api实现地址和经纬度的转换(python)

利用高德地图web服务api实现地理/逆地址编码 api使用具体方法请查看官方文档 文档网址:http://lbs.amap.com/api/webservice/guide/api/georegeo/ 1.利用python第三方库requests实现 Requests库文档地址:http://www.python-requests.org/en/master/ 1 #!/usr/bin/env python3 2 #-*- coding:utf-8 -*- 3 ''' 4 利用高德地图api实

浅析线性地址到物理地址的转换

一. 概念介绍: 1.线性地址(linear address)(也称虚拟地址virtual address):是一个32位无符号整数,用来表示高达4GB的地址. 2.物理地址(physical address):实际地址. 3.VM 即虚拟内存 ,PM 即物理内存 4.(1)PGD(Page Global Directory) 即页全局目录. (2)PUD(Page Upper Directory)即页上级目录. (3)PMD(Page Middle Directory)即页中间目录. (4)P

由结构体成员地址计算结构体地址——list_entry()原理详解

#define list_entry(ptr, type, member) container_of(ptr, type, member) 在进行编程的时候,我们经常在知道结构体地址的情况下,寻找其中某个成员的地址:但是知道了成员的地址,如果找到这个结构体对应的地址呢? Linux内核中,获取节点地址的函数是list_entry(),它的宏定义如上所示. 我们再来查找container_of(ptr, type, member)的定义,发现它依然是一个宏定义: #define container

【Linux 网络编程】网络IP地址结构体

(1)IPv4套接口地址结构通常也称为"网际套接字地址结构",它以"sockaddr_in"命名,        定义在<netinet/in.h>        struct sockaddr_in{            uint8_t sin_len; //整个sockaddr_in结构体的长度            sa_family sin_family; //指定该地址家族,在这里必须设置为AF_INET            in_port

python编写IP地址与十进制IP转换脚本

IP地址与十进制IP转换 #!/usr/bin/env python #encoding=utf-8 import re import sys import os def ten_to_two(ten_num): two_str = '' while ten_num != 1: a = ten_num % 2 two_str = two_str + str(a) ten_num = ten_num / 2 else: two_str = two_str + str(1) two_str = tw