在一次采访中有人问我为什么需要计算在bind系统调用中绑定(bind)的地址的大小。
bind(sockfd, (struct sockaddr *) &serv_addr,sizeof(serv_addr))
意味着我想知道在绑定(bind)系统调用中使用第三个参数的目的是什么??
最佳答案
因为 sockaddr
结构或多或少充当“派生”结构(如 sockaddr_in
)的“基础”结构。它几乎是一种继承机制。
sockaddr
包含可由“派生”结构(如 sockaddr_*
)使用的可变长度数据,因此您需要精确“派生”结构的有效大小.
关于c - Socket的系统调用Bind In c,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6184953/