【发布时间】:2018-04-11 04:07:11
【问题描述】:
int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
我不明白为什么 addrlen 参数是指针,而不是 socklen_t ?
【问题讨论】:
-
是为了能够写回长度。它是一个输入/输出参数:“addrlen 参数是一个值结果参数:调用者必须将其初始化为包含 addr 指向的结构的大小(以字节为单位);返回时它将包含对等方的实际大小地址。”
-
如上。这是相当常见的,需要提供你传入的结构的大小,以及传递回使用的元素数量的函数
-
你能澄清你的问题吗:你说你不明白为什么
addrlen是一个指针,而不是socklen_t。第一部分是有道理的,但我不明白你对socklen_t的意思