我正在使用C/C++(混合)在Linux机器上开发专用的游戏服务器。我有以下代码片段:

int sockfd=socket(AI_INET, SOCK_DGRAM, 0);
if(sockfd==-1)
{
    int err=errno;
    fprintf(stderr,"%s",strerror(err));
    exit(1);
}

我的问题是套接字返回-1(表示失败)并且正在打印错误字符串,但它是“成功”(ERROR_SUCCESS)。

其他说明:
  • 我正在请求> 1024的端口上的套接字(不考虑上下文,但以为我会提到)
  • 我以 super 用户
  • 的身份执行该应用程序

    最佳答案

    我感到非常愚蠢。仔细查看我的代码,在我的开发计算机上显示:

    if(sockfd==-1);
    ...
    

    关于c++ - 奇怪的socket()错误-返回-1,但errno = ERROR_SUCCESS,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1999967/

    10-08 22:57