Что такое Winsock? Все, что тебе нужно знать
Table of Contents
Definition
Сокращенно от Windows Sockets API (WSA), Winsock - это вспомогательная программа и техническая спецификация, которая определяет, как сетевое программное обеспечение Windows получает доступ к сетевым службам в вычислениях, особенно TCP / IP. Он обрабатывает запросы ввода и вывода для Интернет-приложений в операционной системе Windows.
Он адаптирован из Windows для интерфейса сокетов Berkeley Unix. Вот почему он называется Winsock. Сокет - это особое соглашение, которое связывает два программных процесса и обменивается данными по сети или на одном компьютере.
Фон
Проект Windows Socket зародился на конференции Birds Of A Feather 10 октября 1991 года на Interop '91 в Сан-Хосе в Сан-Хосе. Он основан на спецификациях сокетов, созданных NetManage. И он представил эти спецификации общественному достоянию на этой встрече.
Первое издание этой спецификации было создано Мартином Холлом, Марком Тофиком из Microdyne, Джеффом Арнольдом из Sun Microsystems и Генри Сандерсом и Дж. Аллардом из Microsoft при содействии многих других.
Ведутся дискуссии о том, как лучше всего решить проблемы интеллектуальной собственности, авторского права и потенциального антимонопольного законодательства, а также рассмотрение возможности работы через IETF или создания некоммерческого фонда. В конце концов, было решено, что спецификация будет состоять только из пяти авторов с индивидуальными авторскими правами.
Долгое время все участвующие разработчики отказывались сокращать имя до простого Winsock. Потому что среди пользователей существует большая путаница между файлом библиотеки DLL (winsock.dll) и API, в то время как файл библиотеки DLL предоставляет только общий интерфейс WSA для указанного выше приложения. Пользователи обычно считают, что полная поддержка протокола TCP / IP может быть предоставлена только в том случае, если они гарантируют наличие файлов DLL в системе.
Технология
Спецификация Winsock определяет два интерфейса: API и SPI. Разработчики приложений используют первое, а второе предлагает способ добавления новых модулей протокола в систему для разработчиков сетевого программного обеспечения. Каждый интерфейс представляет собой контракт.
API гарантирует, что совместимые приложения будут работать должным образом, как это реализовано согласованным протоколом от любого поставщика сетевого программного обеспечения. Контракт SPI предоставляет совместимый с протоколом модуль, который может быть добавлен в Windows и поэтому используется API-совместимыми приложениями.
Код и конструкция сокета Windows основаны на сокетах BSD, но предлагают дополнительные функции, которые позволяют API соответствовать общей модели программирования Windows.
Windows Socket API охватывает почти все характеристики BSD socket API. Однако некоторые неизбежные препятствия проистекают прежде всего из фундаментальных различий между Windows и Unix.
Однако сокеты Windows спроектированы таким образом, чтобы разработчикам было относительно легко переносить приложения на основе сокетов из Unix в Windows. Недостаточно создать API, который работает только для недавно написанных программ Windows. В результате сокеты Windows содержат много элементов, которые предназначены для переносимости.
Это невозможно в Windows, поэтому в сокетах Windows есть особая функция WSAGetLastError () для получения сообщений об ошибках. Хотя эти механизмы полезны, перенос приложений все еще слишком сложен.
Многие из исходных приложений TCP / IP были реализованы с использованием специфических для Unix системных функций, которые проблематично воспроизвести в Windows.
Перенос уступает место разработке специализированных приложений Windows за относительно короткий период.
Реализации
Реализации Microsoft
- Microsoft не предлагала реализацию Winsock 1.0.
- Версия 1.1 Winsock была доступна в дополнительном пакете под названием Wolverine for Windows for Workgroups.
- Версия 2.1 Winsock была доступна в виде дополнительного пакета для Windows 95.
- Последние версии Winsock 2.x поставляются как часть пакетов обновления или с новыми выпусками Windows.
- Winsock 2 можно расширить с помощью механизма, называемого многоуровневым поставщиком услуг (LSP).
Другие реализации
- Другие поставщики, предлагающие Winsock-совместимые стеки TCP / IP и UDP / IP, включают 3Com, DEC, Beame и Whiteside, Distinctive, Frontier, IBM, FTP Software, NetManage, Novell, Sun Microsystems, Microdyne и Trumpet Software International.
- Trumpet Winsock Питера Таттама - одна из немногих реализаций Winsock 1.0, установленных под Windows 3.0, и эта версия не имеет встроенной поддержки Winsock.
- Проект Wine включает исходный код Winsock и двоичную совместимость, которая повторно реализована в API сокетов BSD.
Conclusion
Выше представлена основная информация о Winsock, включая его определение, предысторию, технологию и ее реализации.
Previous Article
Как показать, скрыть и назначить букву диска в Windows? Описание: Winsock - это программный интерфейс, поддерживающий связь между Windows и TCP / IP. Продолжайте читать этот пост для всех ...Next Article
Fixed: There Is Not Enough Memory Or Disk Space To Run Word Описание: Winsock - это программный интерфейс, поддерживающий связь между Windows и TCP / IP. Продолжайте читать этот пост для всех ...About Bitwar Data Recovery
3 Steps to get back 500+ kinds of deleted, formatted or lost documents, photos, videos, audios, archive files from various data loss scenarios.
Learn More