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


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