【发布时间】:2013-08-20 21:34:23
【问题描述】:
recvfrom 要求第 5 个参数是指向 sockaddr 结构的指针,第 6 个参数是指向 socklen_t 的指针。
man recvfrom (3) 说:
如果地址的实际长度大于 提供的 sockaddr 结构,存储的地址将被截断。
我不明白如何使用 AF_INET6 地址族检索发送套接字的地址,因为sockaddr_in6 的大小大于sockaddr,因此它将被recvfrom 截断。
recvfrom 无法检索大于sizeof(sockaddr) 的地址,我理解了吗?
即使我定义sockaddr_in6 的实例将其地址转换为sockaddr* 并将其传递给recvfrom,我是否理解正确,该函数将无法知道有足够的空间来存储地址?
【问题讨论】:
标签: c++ c linux sockets ip-address