我有一个很尴尬的问题。以下代码根本不会在Windows上创建套接字;它失败并显示错误消息。谁能简要解释为什么会这样?如此简单的事情失败了,我感到非常困惑和沮丧。谢谢你。
int sock;
if( (sock = socket(AF_INET, SOCK_STREAM, 0)) < 0 )
{
printf("error opening socket");
}
编辑:此外,打印出strerror(errno)只是显示“无错误”。
最佳答案
您需要先调用WSAStartup()
,然后其他任何套接字函数才能在Windows上运行(并且应该在完成后调用WSACleanup()
)。