Функция соединения Клиентского сокета WSAConnect с удаленным сервером

Позвольте вопрос:

После создания клиентского сокета с помощью функции WSASocket(), далее необходимо установить соединение с удаленным сокетом сервера(по TCP) с помощью функции WSAConnect() - вторым параметром, которой является указатель на структуру sockaddr - первым параметром, которой является значение протокола, который я должен указать, для соединения с удаленным сервером - это или AF_INET(ipv4) или AF_INET6(ipv6)

Но, я не могу понять, как я могу это указать, если я не знаю на каком протоколе работает оборудование на кортом установлен сервер или поддерживает само ПО сервера какой то их этих двух версий протокола.


Ответы (1 шт):

Автор решения: S.H.

Делайте по ipv4. Он с нами еще надолго. Когда все заработает - можно попрбовать по ipv6, но в реальности мало кто поддерживает его - не везде маршрутизируется еще

По вопросам в комментариях я решил немного расширить ответ.

когда происходит разрешение буквенного именив ip адрес- DNS может вернуть как адреса в формате IPv4, так и адреса в формате Ipv6, например:

    nslookup mail.ru
    Server:  UnKnown
    Address:  192.168.0.2

    Non-authoritative answer:
    Name:    mail.ru
    Addresses:  2a00:1148:db00:0:b0b0::1
              94.100.180.200
              217.69.139.202
              217.69.139.200
              94.100.180.201

Здесь первый адрес - ipv6, остальные - ipv4

И с любым из этих адресов можно вызывать функцию.

→ Ссылка