struct sockaddr在哪个文件定义struct sockaddr支持所有网域,如果用ipv4网域,需要强制转换成struct sockaddr_in! struct sockaddr_in { ... struct in_addr sin_addr; };struct sockaddr FAR * 和 const struct sockaddr FARconst int* a; a 指向的地址的值不能变,同理,第一个问题就迎刃...
SOCKADDR_IN的基本结构在windows/linux下有下面结构: sockaddr结构 struct sockaddr { unsigned short sa_family;/*addressfamily,AF_xxx*/ char sa_data[14];/*14bytesofprotocoladdress*/ }; sa_family是地址家族,一般都是“AF_xxx”的形式。通常大多用的是都是AF_INET,代表TCP/...
Linux下socket编程的sockaddr_in结构体中的__SOCKADDR_COMMON (sin_);是什么意思其定义如下: typedef unsigned short int sa_family_t; #define __SOCKADDR_COMMON(sa_prefix) sa_family_t sa_prefix##family 可以看到这就是一个整形变量(2字节),主要的用处是指明地址类型:取值主要是AF...
windows 的 sockaddr 和 linux 的sockaddr 有区别吗一般就 sockaddr_un /* UNIX domain */ sockaddr_in /* IPv4 */ sockaddr_in6 /* IPv6 */ .... 当然还有协议无关的 sockaddr_storage 一般都会强制转换 (struct sockaddr *)&sockaddr_xx .结构体in_addr 和sockaddr...
sizeof (struct sockaddr) sizeof (struct sockaddr_in)都是 16字节 实际上这两个结构可以直接相互转换的。 struct sockaddr { u_short sa_family; /* address family */ char sa_data[14]; /* up to 14 bytes of ...