Инициализация Winsock

Все процессы (приложения или библиотеки DLL), которые вызывают функции Winsock, должны инициализировать использование библиотеки DLL сокетов Windows перед вызовами других функций Winsock. Это также гарантирует, что Winsock поддерживается в системе.

Инициализируйте Winsock

  1. Создайте объект WSADATA с именем wsaData.

    WSADATA wsaData;
    
  2. Вызовите WSAStartup и верните его значение в виде целого числа и проверьте наличие ошибок.

    int iResult;
    
    // Initialize Winsock
    iResult = WSAStartup(MAKEWORD(2,2), &wsaData);
    if (iResult != 0) {
        printf("WSAStartup failed: %d\n", iResult);
        return 1;
    }
    

Функция WSAStartup вызывается для инициации использования WS2_32.dll.

Структура WSADATA содержит сведения о реализации сокетов Windows. Параметр MAKEWORD(2,2) WSAStartup выполняет запрос на версию 2.2 Winsock в системе и задает переданную версию в качестве самой высокой версии сокетов Windows, которую может использовать вызывающий объект.

Следующий шаг для клиента: создание сокета для клиента

Следующий шаг для сервера: создание сокета для сервера

Начало работы с Winsock

создание базового приложения Winsock