1.sockaddr_in
在使用该结构体时需要包含头文件 #include <netinet/in.h>
成员列表
》.sin_family //该参数一般表示为协议 类型,分为IPV4 IPV6
//一般填AF_INET; //表示为IPV4协议
》.sin_addr //一般表示为IP地址, 注意 :一般在使用时需要进行大小端转换
》.sin_port //一般表示为端口号设置 注意 : 也需要进行大小端的转换
需要进行大小端转化的原因: 在网络中传输的格式为大端模式,而Ubuntu环境中为小端模式,默认转化为大端口进行网络传输,而后在Ubuntu中还原小端模式
1.1转换大小端函数介绍
IP地址转换
IP大端转小段 1. char *inet_ntoa(struct in_addr in);
2. const char *inet_ntop(int af, const void *src, char *dst, socklen_t size)
IP小端转大端
1.in_addr_t inet_addr(const char *cp);
2.int inet_aton(const char *cp, struct in_addr *inp);
3.int inet_pton(int af, const char *src, void *dst);
端口大小端转换
端口大端转小端 uint16_t ntohs(uint16_t netshort);
端口小端转大端 uint16_t htons(uint16_t hostshort);
注意: 在使用的过程中最重要的步骤为设置结构体中的参数,而后进行IP和端口的绑定