WindowsSockets規範

WindowsSockets規範

Windows Sockets規範以U.C. Berkeley大學BSD UNIX中流行的Socket介面為範例定義了一套Micosoft Windows下網路編程介面。它不僅包含了人們所熟悉的Berkeley Socket風格的庫函數;也包含了一組針對Windows的擴展庫函數,以使程序員能充分地利用Windows消息驅動機制進行編程。

簡介


Windows Sockets規範本意在於提供給應用程序開發者一套簡單的API,並讓各家網路軟體供應商共同遵守。此外,在一個特定版本Windows的基礎上,Windows Sockets也定義了一個二進位介面(ABI),以此來保證應用Windows Sockets API的應用程序能夠在任何網路軟體供應商的符合Windows Sockets協議的實現上工作。因此這份規範定義了應用程序開發者能夠使用,並且網路軟體供應商能夠實現的一套庫函數調用和相關語義。

技術要求


遵守這套Windows Sockets規範的網路軟體,我們稱之為Windows Sockets兼容的,而Windows Sockets兼容實現的提供者,我們稱之為Windows Sockets提供者。一個網路軟體供應商必須百分之百地實現Windows Sockets規範才能做到現Windows Sockets兼容。
任何能夠與Windows Sockets兼容實現協同工作的應用程序就被認為是具有Windows Sockets介面。我們稱這種應用程序為Windows Sockets應用程序。
Windows Sockets規範定義並記錄了如何使用API與Internet協議族(IPS,通常我們指的是TCP/IP)連接,尤其要指出的是所有的Windows Sockets實現都支持流套介面和數據報套介面.
應用程序調用Windows Sockets的API實現相互之間的通訊。Windows Sockets又利用下層的網路通訊協議功能和操作系統調用實現實際的通訊工作。
雖然我們並不反對使用這一套API來實現另一通訊協議棧(而且我們期望在將來規範的修改中能夠討論這個問題),但這種用法已經超出了我們這一份規範所規定的範圍,我們在此將不作討論。