Bevezetés a Winsockba, beleértve a hátteret és a technológiát
Introduction Winsock Including Background Technology
Ez a bejegyzés elsősorban a Windows Sockets API-ról szól, amely WSA-ra és Winsock-ra rövidíthető. A bejegyzés elolvasása után megismerheti annak meghatározását, hátterét, technológiáját és megvalósításait.
Ezen az oldalon :Winsock definíciója
Mi az a Winsock? A számítástechnikában a Winsock egy műszaki specifikáció, amely annak meghatározására szolgál, hogy a Windows hálózati szoftvereknek miként kell hozzáférniük a hálózati szolgáltatásokhoz, különösen a TCP/IP-hez. Azért hívják Winsocknak, mert a Berkeley UNIX socket interfész adaptációja a Windows rendszerre. A socket egy speciális megállapodás, amely ugyanazon a számítógépen vagy hálózaton két programfolyamathoz való csatlakozásra és adatcserére szolgál.

A Winsock a Windows Sockets API (WSA) rövidítése. Meghatározza a szabványos interfészt a Windows TCP/IP kliens alkalmazások (például FTP kliensek vagy webböngészők) és az alapvető TCP/IP protokoll verem között.
Kapcsolódó bejegyzés: Használja a Netsh Winsock Reset parancsot a Windows 10 hálózati probléma megoldásához
Háttér Winsock
A Windows Sockets API-t Martin Hall, a JSB Software-től (később Stardust Technologies) javasolta a BoF (Bird of a Feather) megbeszélésen a CompuServe BBS hálózatról 1991 októberében.
A specifikáció első változatát Martin Hall, Mark Towfiq a Microdyne-től (a későbbi Sun Microsystems-től), Geoff Arnold a Sun Microsystems-től, valamint Henry Sanders és J Allard a Microsofttól írta meg sokak segítségével.
Volt néhány megbeszélés arról, hogyan lehetne a legjobban megoldani a szerzői joggal, a szellemi tulajdonnal és a potenciális trösztellenes problémákkal kapcsolatos kérdéseket, és megvitatták az IETF-en keresztüli munkát vagy non-profit alapítványok létrehozását. Végül úgy döntöttek, hogy a specifikációt csak öt (nem kapcsolódó) szerző védi.
Az összes résztvevő fejlesztő hosszú ideig nem volt hajlandó a nevet egyszerűen Winsock-ra rövidíteni, mert nagy volt a zűrzavar az API és a DLL könyvtárfájl (winsock.dll) között, ami csak az általános WSA felületet tette elérhetővé a felette lévő alkalmazás számára. Általában úgy gondolják, hogy csak annak biztosítása, hogy a DLL fájl létezik a rendszeren, biztosítható a teljes TCP/IP protokoll támogatása.
Winsock technológiája
A Windows Socket API specifikációja két interfészt határoz meg: az alkalmazásfejlesztők által használt API-t és az SPI-t, amely módszert biztosít a hálózati szoftverfejlesztők számára, hogy új protokollmodulokat adjanak a rendszerhez. Minden interfész egy szerződést jelent.
Az API garantálja, hogy a megfelelő alkalmazások normálisan futhatnak bármely hálózati szoftvergyártó megfelelő protokoll-megvalósításával. Az SPI-szerződés garantálja, hogy megfelelő protokollmodulok adhatók hozzá a Windowshoz, így azokat API-kompatibilis alkalmazások használhatják.
Bár ezek a szerződések fontosak voltak a Windows Sockets első kiadásakor, mára már csak tudományos jelentőséggel bírnak, mivel a hálózati környezet több protokollos támogatást igényel. A Windows Sockets API 2.0-s verziója tartalmazza az IPX/SPX használatának funkcióját, bár ez a protokoll szinte elavult volt, amikor a WSA 2.0 elhagyta a gyárat.
A Windows Sockets kódja és kialakítása a BSD socketeken alapul, de további szolgáltatások is rendelkezésre állnak, amelyek lehetővé teszik, hogy az API megfeleljen a hagyományos Windows programozási modellnek.
A Windows Sockets API szinte lefedte a BSD socket API összes funkcióját, de vannak elkerülhetetlen akadályok, amelyeket elsősorban a Windows és a Unix közötti alapvető különbségek okoztak (bár a Windows Sockets és a BSD socket közötti különbség kisebb volt, mint a utóbbi és PARATOK).
A Windows socketek tervezési célja azonban az volt, hogy a fejlesztők számára viszonylag egyszerűvé tegyék a socket alapú alkalmazások Unixról Windowsra történő portolását. Nem volt elég olyan API-kat létrehozni, amelyek csak az újonnan írt Windows-programokhoz voltak hasznosak.
Ezért a Windows Sockets sok olyan elemet tartalmazott, amelyek megkönnyítik a portolást. Például a Unix alkalmazások ugyanazt az errno változót használhatják a hálózati hibák és a szabványos C könyvtári funkciókban észlelt hibák naplózására.
Mivel nem implementálható a Windows rendszerben, a Windows Sockets bevezetett egy speciális funkciót, a WSAGetLastError() a hibainformációk lekérésére. Egy ilyen mechanizmus nagyon hasznos volt, de az alkalmazások portolása így is rendkívül bonyolult volt.
Sok primitív TCP/IP-alkalmazást Unix-specifikus rendszerszolgáltatások (például pszeudoterminálok és fork rendszerhívások) használatával valósítottak meg, és problémás volt ezt a funkciót reprodukálni a Windowsban. A portolás viszonylag rövid időn belül átadta helyét a dedikált Windows alkalmazások fejlesztésének.
A Winsock megvalósításai
- A Microsoft nem biztosította a Winsock 1.0 megvalósítását.
- A Winsock 1.1-es verziója egy kiegészítő csomagban (Wolverine néven) volt elérhető a Windows for Workgroups számára (kód neve Snowball).
- A Winsock 2.1-es verziója a Windows 95 rendszerhez készült kiegészítő csomagban volt elérhető.
- A Winsock 2.x legújabb verziója az új Windows verzióval vagy egy szervizcsomag részeként került forgalomba.
- A Winsock 2 kiterjeszthető a Layered Service Provider (LSP) nevű mechanizmuson keresztül.
![Mi az újraindítás és frissítés, hogy a támogatásban maradhasson, és hogyan javítható [MiniTool News]](https://gov-civil-setubal.pt/img/minitool-news-center/70/what-is-restart-update-stay-support.png)
![Hmm, nem tudjuk elérni ezt az oldalt - Microsoft Edge hiba [MiniTool News]](https://gov-civil-setubal.pt/img/minitool-news-center/36/hmm-we-cant-reach-this-page-microsoft-edge-error.png)


![Hogyan lehet frissíteni a Vistát Windows 10-re? Teljes útmutató az Ön számára! [MiniTool tippek]](https://gov-civil-setubal.pt/img/backup-tips/18/how-upgrade-vista-windows-10.png)
![Bevezetés a kiosztási egység méretébe és a vele kapcsolatos dolgokba [MiniTool Wiki]](https://gov-civil-setubal.pt/img/minitool-wiki-library/21/introduction-allocation-unit-size.png)
![Javítás: A meghajtó, ahová a Windows telepítve van, zárva van (6 út) [MiniTool tippek]](https://gov-civil-setubal.pt/img/disk-partition-tips/47/fix-drive-where-windows-is-installed-is-locked.jpg)
![Töltse le a Microsoft Edge böngészőt Windows 10 vagy Mac rendszerre [MiniTool News]](https://gov-civil-setubal.pt/img/minitool-news-center/49/download-microsoft-edge-browser.png)
![[Legjobb javítások] Fájl használat közbeni hiba a Windows 10/11 számítógépen](https://gov-civil-setubal.pt/img/data-recovery/84/file-use-error-your-windows-10-11-computer.png)

![Hogyan szabadíthatunk fel lemezterületet a Windows 10/11 frissítése után? [MiniTool tippek]](https://gov-civil-setubal.pt/img/data-recovery/9D/how-to-free-up-disk-space-after-windows-10/11-updates-minitool-tips-1.png)
![5 hibajavítás a Windows-frissítések beállításához A változtatások visszaállítása [MiniTool-tippek]](https://gov-civil-setubal.pt/img/backup-tips/42/5-fixes-failure-configuring-windows-updates-reverting-changes.jpg)





![Az M3U8 betöltése nem sikerült: A domainek közötti hozzáférés megtagadva [MiniTool News]](https://gov-civil-setubal.pt/img/minitool-news-center/67/how-fix-cannot-load-m3u8.jpg)
![[Áttekintés] A DSL jelentések 4 típusa a számítógépes területen](https://gov-civil-setubal.pt/img/knowledge-base/98/4-types-dsl-meanings-computer-field.png)
