在“sys/socket.h”中定义了以下函数:
我的问题与socklen_t *address_len有关,它根据手册指向一个socklen_t,其中输入时指定提供的sockaddr结构体的长度,输出时指定存储地址的长度。
在什么情况下,address_len的输入大小会与输出不同?
我需要这个信息来模拟我为sockaddr_in结构体创建的包装器的测试用例。
非常感谢!
int accept (int socket, struct sockaddr *address, socklen_t *address_len);
我的问题与socklen_t *address_len有关,它根据手册指向一个socklen_t,其中输入时指定提供的sockaddr结构体的长度,输出时指定存储地址的长度。
在什么情况下,address_len的输入大小会与输出不同?
我需要这个信息来模拟我为sockaddr_in结构体创建的包装器的测试用例。
非常感谢!
sockaddr
的第二个成员是一个char
数组。address_len
中返回的值将包含该成员实际使用了多少个元素(而不是它可以容纳多少个元素)。 - Attila