数据结构:
#include <sys/types.h>
#include <sys/socket.h>
通用地址
struct sockaddr
{
sa_family_t sa_family;
char sa_data[14];
}
本地地址
struct sockaddr_un
{
sa_family_t sun_family;
char sun_path[108];
}
internet 地址
struct sockaddr_in
{
sa_family_t sin_family;
uint16_t sin_port;
struct in_addr sin_addr;
unsigned char sin_zero[8];
}
struct in_addr
{
uint32_t s_addr;
}
辅助函数:
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
把字符串表示的IP转换成网络字节序IP地址
int inet_aton(const char* s, in_addr* addr)
把网络字节序IP地址转换成字符串
char* inet_ntoa(in_addr addr)
把字符串表示的IP转换成本机字节序IP地址
unsigned long inet_network(const char* addr)
inet_lnaof()
inet_netof()
inet_makeaddr()