Возможно, просто у процесса нет разрешения на создание сокетов (errno == EACCES
).
Возможно, ваш интерпретатор python получает другой контекст безопасности, проверьте это.
В любом случае, лучше, чем потом сожалеть, так что положите что-то вроде:
sock = socket(AF_INET, SOCK_STREAM, 0);
if (sock == -1) {
perror("myapp");
exit(1);
}
IDK, если Winsock на самом деле устанавливает errno
, но он должен ...