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

Все процессы (приложения или библиотеки DLL), вызывающие функции Winsock, должны инициализировать использование библиотеки DLL Windows Sockets перед выполнением других вызовов функций 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