我有一个很尴尬的问题。以下代码根本不会在Windows上创建套接字;它失败并显示错误消息。谁能简要解释为什么会这样?如此简单的事情失败了,我感到非常困惑和沮丧。谢谢你。

int sock;
if( (sock = socket(AF_INET, SOCK_STREAM, 0)) < 0 )
{
    printf("error opening socket");
}

编辑:此外,打印出strerror(errno)只是显示“无错误”。

最佳答案

您需要先调用WSAStartup(),然后其他任何套接字函数才能在Windows上运行(并且应该在完成后调用WSACleanup())。

10-04 09:58