首页 > 编程知识 正文

linux转换文件字符集,linux

时间:2023-05-05 03:01:38 阅读:205785 作者:860

这是可能的,因为你通常会投掷指针,而不是结构本身.你做自然语言的意思是“请把这个指针指向一个socket结构作为一个指向互联网套接字结构的指针”.编译器没有问题重新解释指针.

这是从评论中得到的更详细的描述:

一个sockaddr是16个字节的大小 – 前两个字节是sa_family,剩下的14个字节是任意数据的sa_data.一个sockaddr_in也是16字节的大小 – 前2个字节是sin_family(总是AF_INET),接下来的2个字节是sin_port,接下来的4个字节是sin_addr(IP地址),最后8个字节是sin_zero,在IPv4中未使用,仅提供1​​6个字节.这样,首先可以看看sockaddr.sa_family,如果是AF_INET,则将整个sockaddr解释为sockaddr_in.

sockaddr_in不存储在sockaddr.sa_data字段内.整个sockaddr是整个sockaddr_in(当sockaddr.sa_family是AF_INET时,就是这样).如果您使用一个sockaddr *指针并将其转换为一个sockaddr_in *指针,那么:

> sockaddr.sa_family是sockaddr_in.sin_family> sockaddr.sa_data的字节0-1为sockaddr_in.sin_port>字节2-5是sockaddr_in.sin_addr>字节6-13是sockaddr_in.sin_zero.

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。