gpt4 book ai didi

c++ - 检查套接字是否已在 mac os x 中连接

转载 作者:行者123 更新时间:2023-11-28 03:12:05 25 4
gpt4 key购买 nike

在 Windows 平台中,我可以通过以下代码检查套接字是否已连接:

bool isConnected(int socket)
{
int err;
int len = sizeof (err);
getsockopt(socket, SOL_SOCKET, SO_ERROR, (char*)&err, &len);
return err == 0;
}

在 OS X 中,此函数始终返回 true。官方的做法是什么?

最佳答案

此函数适用于 Windows 和 Mac 平台:

bool isConnected(int socket)
{
int err;
#ifdef __APPLE__
uint32_t len;
#elif _Windows
int len;
#endif
sockaddr_in addr;
len = sizeof (addr);
err = getpeername(socket, (sockaddr*)&addr, &len);
return err == 0;
}

关于c++ - 检查套接字是否已在 mac os x 中连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18160604/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com