Поделиться через


Инициализация 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