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


Переименованные функции

В двух случаях необходимо переименовать функции, которые используются в Berkeley Sockets, чтобы избежать столкновений с другими функциями API Microsoft Windows.

Close and Closesocket

Сокеты представлены стандартными дескрипторами файлов в Berkeley Sockets, поэтому функцию закрытия можно использовать для закрытия сокетов, а также обычных файлов. Хотя ничего в сокетах Windows не позволяет реализации использовать обычные дескрипторы файлов для идентификации сокетов, ничего не требуется. В Windows сокеты должны быть закрыты с помощью процедуры закрытия closesocket. В Windows, используя функцию закрыть для закрытия сокета, неправильно и последствия этого не определены в этой спецификации.

Ioctl и Ioctlsocket/WSAIoctl

Различные системы времени выполнения языка C используют ioCTLs для целей, не связанных с сокетами Windows. В результате функция ioctlsocket и функция WSAIoctl были определены для обработки функций сокета, выполняемых IOCTL и fcntl в дистрибутиве программного обеспечения Berkeley Software.

closesocket

ioctlsocket

перенос приложений сокетов в Winsock

рекомендации по программированию Winsock

WSAIoctl