struct sockaddr *sa;
sa = Malloc(MAXSOCKADDR);
len = MAXSOCKADDR;
Getpeername(sockfd, sa, &len);//sockfd是一个已连接套接字(tcp) 此函数用来获取连接另一端的协议地址
注意:这里我们用malloc ,而不是一开始就定义 char sockaddr[MAXSOCKADDR]然后按照协议作类型强转
。是因为malloc 总是返回一个系统所要求的严格对齐的指针, 而char数组可能被分配在一个奇数字节的边界上,
一旦是这种情况发生,我们在类型强转后使用协议地址时就会有问题。
除char 外的其他大多数多字节类型,系统在分配时应当还是严格按照偶数字节边界对齐的。