Создавайте проект Win 32 Console с именем WinSock1, на вопрос о типе в диалоговом окне скажите "Hello Word" application. После этого есть необходимость подключения LIB файла. Это делается в меню Project далее Setting, далее Link и Object/library modules. Туда надо вписать Wsock32.lib. Вот как это выглядит.
А вот и код программы.
// WinSock1.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "winsock.h" const int WINSOCK_VERSION = 0x0101; void main() { WSADATA wsaData; if (WSAStartup(WINSOCK_VERSION, &wsaData)) { printf ("winsock not bi initialized !\n"); WSACleanup(); } else printf("Winsock initial OK !!!!\n"); if (WSACleanup()) printf("Error Cleapir\n"); else printf("Cleapir Good !!!!!\n"); }
С помощью #include "winsock.h" подключаем библиотечные функции. Объявляем константу с номером версии, которую мы будем поддерживать - WINSOCK_VERSION.
Функция WSAStartup инициализирует WinSock. Эта функция всегда самая первая при начале работы с WinSock. Вот как она описана:
int WSAStartup ( WORD wVersionRequested, LPWSADATA lpWSAData );Первый параметр - это версия, которая будет использоваться. Младший байт основная версия, старший байт расширение версии. Если инициализация состоялась, то вернется нулевое значение. Вобщем-то инициализация заключается в сопоставлении номера версии и реально существуюшей DLL в системе.
Второй параметр - это указатель на структуру WSADATA, в которую возвратятся параметры инициализации.
typedef struct WSAData { WORD wVersion; WORD wHighVersion; char szDescription[WSADESCRIPTION_LEN+1]; char szSystemStatus[WSASYS_STATUS_LEN+1]; unsigned short iMaxSockets; unsigned short iMaxUdpDg; char FAR * lpVendorInfo; } WSADATA, FAR * LPWSADATA;WSACleanup завершает использование данного DLL и прерывает обращение к функциям WinSock. При удачном выполнении вернется нуль.