Программирование на C++ глазами хакера

         

Работа напрямую с WinSock


Как видите, работа с сетью с использованием MFC-объектов, а именно CSocket, очень проста. Но вы не сможете таким образом написать маленькое приложение, потому что для этого надо отказаться от использования стандартных библиотек. Именно поэтому я рассмотрю работу с сетью напрямую достаточно подробно.

В Windows для работы с сетью используется библиотека WinSock. Существуют две версии этой библиотеки. Первая версия WinSock разрабатывалась на основе модели сокетов Беркли, используемой в UNIX-системах. Начиная с Windows 98 в ОС уже встроена вторая версия.

Библиотека WinSock обратно совместима. Это значит, что старые функции не изменились, и программы, написанные для первой версии, будут прекрасно работать во второй. В более поздних версиях Microsoft добавила новые функции, но они оказались несовместимы с сетевыми функциями на других платформах. Впервые новшества появились в версии 1.1, и это были WSAStartup, WSACleanup, WSAGetLastError, WSARecvEx (имена начинаются с "WSA"). В следующей версии таких функций стало намного больше.

Если вам доступна версия WinSock2, то не обязательно ее использовать. Посмотрите, может быть возможностей первой версии окажется достаточно, и тогда вашу программу будет легко адаптировать к компилированию на платформе UNIX.

Конечно, компьютеры с установленной Windows 95 встретить уже достаточно сложно, но они существуют. Если вы обладатель такой ОС, то вы можете скачать новую версию библиотеки с сайта www.microsoft.com.

Если вы решили использовать в своей программе первую версию, то необходимо подключить заголовочный файл winsock.h, иначе — winsock2.h.

Сразу предупрежу, что я буду использовать WinSock и WinSock2.



Содержание раздела