Ответ 1
Вероятно, вы должны использовать winsock2.h
.
Несколько точек:
-
winsock.h
следует использовать сwsock32.lib
, аwinsock2.h
следует использовать сws2_32.lib
-
winsock.h
иwinsock2.h
не должны быть вместе в одном проекте,winsock2.h
заменяетwinsock.h
и не расширяет его. -
winsock.h
следует использовать только в том случае, если вы нацеливаете старую версию Windows, например Windows 95/Windows NT 3.5.
Реализации Microsoft
Версия 1.1 (winsock.h
) Winsock была предоставлена в дополнительном пакете (называемом Wolverine) для Windows для рабочих групп (код Snowball). Это был неотъемлемый компонент Windows 95 и Windows NT от версий 3.5 и далее (исходная коммерчески доступная версия Windows NT, версия 3.1, включала только проприетарную и довольно неполную реализацию TCP/IP на основе AT & T UNIX System V API "Потоки".
Версия 2.1 (winsock2.h
) Winsock была предоставлена в дополнительном пакете для Windows 95. Он был неотъемлемым компонентом Windows 98, Windows NT 4.0 и всех последующих выпусков Windows. Последние версии Winsock 2.x были доставлены с новыми версиями Windows или как часть пакетов обновления.
Добавляет ли Winsock2 функции?
Winsock 2 расширяется с помощью механизма, известного как Layered Service Provider (LSP). Winsock LSP доступны для широкого круга полезных целей, включая родительский контроль в Интернете, фильтрацию веб-контента, QoS и т.д.