我有一个要调试的现有代码(cuda c ++),它使用c ++中的套接字,我不太确定它到底在试图做什么以及如何链接到特定地址?请帮助我了解ai_family
,ai_socktype
,ai_protocol
和其他方式是什么?
int sockfd = socket(host_info->ai_family, host_info->ai_socktype, host_info->ai_protocol);
if (sockfd<0)
{
printf("can't create socket\n");
return false;
}
if (connect(sockfd, host_info->ai_addr, host_info->ai_addrlen)<0)
{
printf("can't create connection\n");
return false;
}
答案 0 :(得分:0)
您可以搜索它,MSDN提供了定义和使用示例。 Linux当然有它自己的帮助。只是寻找您需要的东西,因为有很多可能性,而很少使用。
套接字有很多选择。
地址版本:ipv4和ipv6。 套接字类型:udp,tcp等。
我相信也有非网络套接字,对吧?
每个选项都会极大地改变套接字需要执行的操作。