这是一个有趣的问题:为什么getpeername
-函数out ofWinsock
接收-namelen
参数作为指针?在我看来,这是一个主要的设计缺陷。
例子:
sockaddr_in addr;
int addrLength = sizeof(sockaddr_in);
if (getpeername(s, reinterpret_cast<sockaddr*>(&addr), &addrLength /* <- this */) != SOCKET_ERROR)
{
// ...
}