我需要将放置在结构 sockaddr
中的套接字地址转换为结构 in_addr
。 我试图理解这些结构中IP地址的存储方式:
struct sockaddr
{
u_short sa_family; /* address family */
char sa_data[14]; /* up to 14 bytes of direct address */
};
struct in_addr
{
union
{
struct { u_char s_b1,s_b2,s_b3,s_b4; } S_un_b;
struct { u_short s_w1,s_w2; } S_un_w;
u_long S_addr;
}
S_un;
};
我被一个问题困住了,就是如何把127.0.0.1
存储在sa_data
的14个字符中。
将sockaddr转换为in_addr的最佳方法是什么?