Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

WinSock2+OpenCV2 ошибка с++

Николай Перминов Знаток (358), открыт 2 недели назад
Есть код простого сервера на сокете
При его запуске программа завершается с сообщением "Error: can't accept client connection: 10022".
Если отключить заголовок opencv, то все работает корректно. С чем может быть связана ошибка?
 #include  
#include
#include
#include
#include

#pragma warning(disable: 4996)
#pragma comment(lib, "ws2_32.lib")

using namespace std;

int main() {
const char* ip = "127.0.0.1";
int port = 1111;

WSADATA wsaData;
if (WSAStartup(MAKEWORD(2, 1), &wsaData) != 0) { // lib init
cout << "Error: can't init winsock\n";
return -1;
}

sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_port = htons(port);
addr.sin_addr.s_addr = inet_addr(ip);
int clientSize = sizeof(addr);

SOCKET listening = socket(AF_INET, SOCK_STREAM, NULL);
bind(listening, (SOCKADDR*)&addr, sizeof(addr));
listen(listening, SOMAXCONN);

cout << "Server started\n";
SOCKET clientSocket = accept(listening, (SOCKADDR*)&addr, &clientSize);

if (clientSocket == INVALID_SOCKET) {
cout << "Error: can't accept client connection: " << WSAGetLastError() << endl;
return -1;
}
cout << "Client connected\n";
return 0;
}
Дополнен 2 недели назад
Решено заменой bind на ::bind
0 ответов
Похожие вопросы