Proto bylo v roce 1991 ustanoveno °adou v²robc∙ Winsock Forum, kterΘ pozd∞ji vytvo°ilo rozhranφ Winsock 1.1 pro obecnou sφ¥ovou komunikaci pod Windows. Toto rozhranφ je zalo₧eno na modelu socket∙ systΘmu Berkeley Unix a je urΦeno pro komunikaci aplikace-aplikace. Winsock je p°edevÜφm sadou volßnφ jßdra, pro vytvo°enφ spojenφ, p°enßÜenφ dat a uzav°enφ spojenφ. Vlastnφch volßnφ je celß °ada, vΦetn∞ n∞kolika specißlnφch pro operaΦnφ systΘm Windows. Winsock 1.1 se rychle uchytilo a nynφ je vÜeobecn∞ pou₧φvßno pro vytvß°enφ sφ¥ov²ch aplikacφ, vΦetn∞ internetov²ch.
Tento n∞kolik let star² standard ji₧ nestaΦφ souΦasn²m po₧adavk∙m a proto byla vytvo°ena novß specifikace Winsock reagujφcφ na nyn∞jÜφ pot°eby. Pou₧φvß podobn² model socket∙, ale je postaveno univerzßln∞ji a dovoluje pou₧φvat i neaplikaΦnφ propojenφ.
Novinky ve Winsock 2.0
Winsock p°inßÜφ n∞kolik zßsadnφch novinek. Zatφmco nejvyÜÜφ API je urΦeno pro transparentnφ p°φstup k sφ¥ov²m slu₧bßm bez ohledu na pou₧it² sφ¥ov² protokol pro vlastnφ aplikaci, na ni₧Üφ ·rovni m∙₧e v²vojß° vyu₧φt specifick²ch vlastnostφ urΦitΘho protokolu. Tak₧e pokud nenφ nutnΘ nap°. urychlit b∞h pou₧itφm specißlnφch rys∙ programovanß aplikace, bude v nezm∞n∞nΘ form∞ provozovatelnß na jakΘkoliv sφti.
Kontrola kvality
Modernφ aplikace, jako jsou videokonference, pot°ebujφ pro svou funkci urΦitou Üφ°ku, kvalitu p°enosovΘho pßsma. Pokud nenφ aplikace schopna zajistit tuto kvalitu, m∙₧e dojφt ke zkreslenφ p°enßÜenφ dat, nebo dokonce k znemo₧n∞nφ b∞hu aplikace.
Winsock 2 umo₧≥uje, aby aplikace trasparentn∞ po₧ßdala o urΦitou kvalitu pßsma. Pokud sφ¥ovß vrstva nenφ schopna po₧adavek zajistit nebo nepodporuje kontrolu kvality, aplikaci je doruΦena zßpornß zprßva.
Winsock 2 podporujφ t°i druhy kvality p°enosovΘho pßsma. GarantovanΘ, p°edpoklßdanΘ a nezaruΦenΘ. GarantovanΘ pßsmo je urΦeno pro aplikace, kterΘ p°esn∞ v∞dφ, jak velkΘ p°enosovΘ pßsmo pro svou funkci pot°ebujφ a nepom∙₧e jim, pokud by m∞ly k dispozici v∞tÜφ prostor.
P°edpoklßdanΘ pßsmo je urΦenΘ nap°. pro video v reßlnΘm Φase, kdy systΘm zaruΦuje urΦitΘ minimßlnφ p°enosovΘ pßsmo, ale v p°φpad∞, ₧e je k dispozici v∞tÜφ, dß ho k dispozici aplikaci.
Poslednφ typ nezaruΦuje tΘm∞° nic, jen poskytne aplikaci mo₧nost pracovat s tak Üirok²m pßsmem, jakΘ je zrovna k dispozici.
DalÜφ funkce
Winsock 2 zajiÜ¥uje takΘ protokolov∞ nezßvislΘ vysφlßnφ paket∙ na vφce mφst (multicast), kdy m∙₧e b²t implementace provedena pomocφ p°irozen²ch prost°edk∙ sφ¥ovΘho protokolu (nap°. IP mutlicast) nebo vyÜÜφmi funkcemi v knihovn∞ Winsock 2.0.
Na rozdφl od p°edchozφ verze Winsock nynφ umo₧≥ujφ pracovat s vφce buffery, p°i posφlßnφ i p°ijφmßnφ dat, kdy lze dosßhnout vyÜÜφ rychlosti prßce sφ¥ov²ch aplikacφ.
Winsock 2 jsou zatφm implementovßny pouze ve Windows NT 4.0. A₧ dojde k upgradu Windows 95, m∞l by se tento protokol takΘ objevit v tomto operaΦnφm systΘmu. U₧ivatelΘ by m∞li poznat zv²Üenou rychlost a stabilitu p°i sφ¥ovΘ komunikaci, z°ejm∞ se objevφ celß sada nov²ch aplikacφ, kterΘ budou vyu₧φvat nov²ch mo₧nostφ Winsock 2.
Novinky:
- Transparentnφ p°φstup k sφ¥ov²m protokol∙m
- Mo₧nost vyu₧φvat specißlnφ funkce a mo₧nosti jednotliv²ch sφ¥ov²ch protokol∙
- Aplikace si m∙₧e vy₧ßdat urΦitou kvalitu a velikost p°enosovΘho pßsma
- Transparentnφ p°φstup k adresß°ov²m slu₧bßm
- Mo₧nost p°idßvat dodateΦnΘ moduly, jako je podpora SSL apod.
- Protokolov∞ nezßvislΘ vysφlßnφ paket∙ na vφce mφst
Winsock 2 fungujφ uvnit° pon∞kud odliÜn²m zp∙sobem ne₧ jejich p°edch∙dce. Jsou samoz°ejm∞ zp∞tn∞ kombatibilnφ, tak₧e existujφcφ aplikace k nim mohou p°istupovat jako u Winsock 1.1.
Kostru novΘ specifikace tvo°φ t°i zßkladnφ p°φstupy: Winsock 2 API, kterΘ slou₧φ jako vstupnφ bod pro aplikaΦnφ propojenφ podobn∞ jako u p°edchozφ verze. Tyto vstupnφ body jsou ulo₧eny v dynamickΘ knihovn∞ - WS2-32.DLL. Tato knihovna dßle komunikuje s dalÜφ vrstvou, nazvanou poskytovatel slu₧eb (SP). To nenφ jeÜt∞ vlastnφ implementace protokolu, ale abstraktnφ vrstva, kterß odd∞luje Winsock API od konktrΘtnφch protokol∙.
Tato vrstva komunikuje s vlastnφm protokolov²m zßsobnφkem. Aby bylo mo₧nΘ zajistit mo₧nost volßnφ specifick²ch funkcφ jednotliv²ch protokol∙, definuje WinSock 2 dalÜφ vrstvu PSA (Protokol Specific Annex).
Pokud v²vojß° po₧aduje volßnφ specißlnφ slu₧by p°φsluÜnΘ urΦitΘmu protokolu, pak je toto volßnφ provßd∞no p°es p°φsluÜnΘ PSA. Jestli₧e vÜak vy₧aduje obecnou slu₧bu Winsock, pak je volßnφ provedeno p°es SPI (Service Provider Interface). Takto je zajiÜt∞na pot°ebnß transparentnost a zßrove≥ mo₧nost pro volßnφ rychl²ch a v²konn²ch funkcφ urΦit²ch protokol∙.
(pes)