Windows Sockets 2
ΠΠ΅ΡΡΠΈΡ Windows Sockets 2 Π²Π²ΠΎΠ΄ΠΈΡ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Π° Π½Π° Π²ΡΠ΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Windows, Ρ ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Windows 9x ΡΡΠ΅Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ. Π ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° Π²Π΅ΡΡΠΈΡ 2.0, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈ Π²Π΅ΡΡΠΈΡ 1.1, Π΅ΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ Π½Π΅ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ Windows 9Ρ . ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ 1.1 Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π²Π°ΠΌ Π±ΡΠ΄Π΅Ρ Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ. ΠΠ΅ΡΡΠΈΡ Windows Sockets 2.0 ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ:
β’ Π‘ΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΎΠ²Π°Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΊΡΡΠ²Π°ΡΡΠ΅Π³ΠΎΡΡ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° (ΡΠΌ. Π³Π»Π°Π²Ρ 14). ΠΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ ΡΠ°ΠΌΡΠΌ Π²Π°ΠΆΠ½ΡΠΌ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.
β’ Π€ΡΠ°Π³ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π²Π²ΠΎΠ΄/Π²ΡΠ²ΠΎΠ΄ (scatter/gather I/O) (ΠΏΡΠΈ ΠΏΠΎΡΡΠ»ΠΊΠ΅ ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π±ΡΡΠ΅ΡΡ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π² ΠΏΠ°ΠΌΡΡΠΈ Π²ΡΠ°Π·Π±ΡΠΎΡ).
β’ ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ (ΡΠΊΠΎΡΠΎΡΡΡ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ).
β’ ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π³ΡΡΠΏΠΏΠΎΠ²ΠΎΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠΊΠ΅ΡΠΎΠ². ΠΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ Π³ΡΡΠΏΠΏΡ ΡΠΎΠΊΠ΅ΡΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎΠ³ΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΎΠΊΠ΅ΡΠ° ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π²Ρ ΠΎΠ΄ΡΡΠΈΠΌ Π² Π³ΡΡΠΏΠΏΡ ΡΠΎΠΊΠ΅ΡΠ°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π½Π°ΡΠ°ΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΡ.
β’ ΠΠΌΠ΅Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΏΡΡΠΌΡΡ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Ρ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ (piggybacking).
β’ Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡΠΎΡΠ΅ΡΠ½ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ (multipoint connections) (ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΠΌΠΎ Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΠΎ ΡΠΈΠΏΡ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½Ρ-ΡΠ²ΡΠ·ΠΈ).
Π Π΅Π·ΡΠΌΠ΅
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Windows Sockets ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ API, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠ΅Π³ΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ°, ΡΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ ΡΠ°Π±ΠΎΡΡ Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠΌ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΏΠΎΡΡΠΈ ΠΏΠΎΠ»Π½ΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Winsock ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°ΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π»ΡΠ±ΠΎΠΉ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ», ΠΎΠ΄Π½Π°ΠΊΠΎ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» TCP/IP.
Winsock ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΠΌ Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΊΠ°Π½Π°Π»Π°ΠΌΠΈ (ΠΈ ΠΏΠΎΡΡΠΎΠ²ΡΠΌΠΈ ΡΡΠΈΠΊΠ°ΠΌΠΈ) ΠΊΠ°ΠΊ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΡΠ°ΠΊ ΠΈ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π² Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΏΡΠΎΡΠ²Π»ΡΡ ΡΠ²ΠΎΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠ»Π°Π½ Π²ΡΡΡΡΠΏΠ°ΡΡ Π²ΠΎΠΏΡΠΎΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠΌΠ΅ΠΉΡΠ΅ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ ΡΠΎΠΊΠ΅ΡΡ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ Π°ΡΠΎΠΌΠ°ΡΠ½ΡΠΌΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π·Π°Π±ΠΎΡΠΈΡΡΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π»ΠΈΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ.
Π ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ Π±ΡΠ»ΠΈ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Winsock, ΠΊΠΎΡΠΎΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ΅ΠΌ, Π·Π° ΡΠ°ΠΌΠΊΠ°ΠΌΠΈ Π½Π°ΡΠ΅Π³ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ ΠΎΡΡΠ°Π»ΠΎΡΡ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎΠ΅, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Winsock Π² Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡ ; Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΡΠΎΠΌΡ Π²ΠΎΠΏΡΠΎΡΡ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°ΠΌ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ "ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ°".
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ Π±ΡΠ»ΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ DLL Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²Π½ΡΡΡΠΈΠΏΡΠΎΡΠ΅ΡΡΠ½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ.
Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π³Π»Π°Π²Π°Ρ
Π Π³Π»Π°Π²Π°Ρ 11 ΠΈ 12 Π±ΡΠ»ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠ΅ΡΠ²Π΅ΡΡ, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠ΅ Π½Π° Π·Π°ΠΏΡΠΎΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ². Π‘Π΅ΡΠ²Π΅ΡΡ, Π² ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²ΠΎΠΏΠ»ΠΎΡΠ΅Π½ΠΈΡΡ , ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌ ΡΠΈΠΏΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Windows. Π Π³Π»Π°Π²Π΅ 13 ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΡΠ»ΡΠΆΠ±Ρ Windows (Windows Services), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠΌΠΈ Π² Π²ΠΈΠ΄Π΅ ΡΠ»ΡΠΆΠ±, ΡΡΠΎ Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π·Π°ΠΏΡΡΠΊ, ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. Π Π³Π»Π°Π²Π΅ 13 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ ΡΠ΅ΡΠ²Π΅Ρ Π² ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΡΠ»ΡΠΆΠ±Ρ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ°
Π‘ΠΎΠΊΠ΅ΡΠ°ΠΌ Windows ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π° ΠΊΠ½ΠΈΠ³Π° [28], Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΠΉΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ http://www.sockets.com. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠΊΠ°Π·Π°Π½Π½Π°Ρ ΠΊΠ½ΠΈΠ³Π° Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ Π°ΡΠΏΠ΅ΠΊΡΠ°Ρ ΡΡΡΠ°ΡΠ΅Π»Π°, ΠΈ Π² Π½Π΅ΠΉ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΠΎΡΠΎΠΊΠΈ. ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉ Π±ΡΠ΄ΡΡ ΠΊΠ½ΠΈΠ³ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°ΡΡΡΡ Π½ΠΈΠΆΠ΅.
Berkeley Sockets ΠΈ TCP/IPΠ ΠΊΠ½ΠΈΠ³Π΅ [41] ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠΊΠ΅ΡΡ, Π½ΠΎ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π² ΠΏΠ΅ΡΠ²ΡΡ Π΄Π²ΡΡ ΡΠΎΠΌΠ°Ρ ΡΡΠΎΠΉ ΡΠ΅ΡΠΈΠΈ ΠΎΠΏΠΈΡΠ°Π½Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ ΠΈ ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ. ΠΡΡΠ΅ΡΠΏΡΠ²Π°ΡΡΠ΅Π΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠ΅Π³ΠΎ Π½Π°Ρ Π²ΠΎΠΏΡΠΎΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² ΠΊΠ½ΠΈΠ³Π΅ [42], ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅Π½Π½ΠΎΡΡΡ Π΄Π°ΠΆΠ΅ Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ ΠΈΠΌΠ΅Π΅Ρ Π΄Π΅Π»ΠΎ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π°ΠΌΠΈ ΠΠ‘. Π‘ΡΠ΅Π΄ΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ², Π·Π°ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡΠΈΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°ΡΡ [8] ΠΈ [12].
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΡ
12.1. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΡ WSAStartup, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΡΡΠ°ΡΡΠΈΠΉ ΠΈ ΠΌΠ»Π°Π΄ΡΠΈΠΉ Π½ΠΎΠΌΠ΅ΡΠ° Π²Π΅ΡΡΠΈΠΉ Winsock, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π½Π° Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π²Π°ΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ .
12.2. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ JobShell ΠΈΠ· Π³Π»Π°Π²Ρ 6 Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ², ΠΏΡΠΈΡΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡΡΡ Ρ ΠΎΠΏΡΠΈΠ΅ΠΉ "ΠΎΡΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ" (-d). ΠΠ»Ρ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ΅ΡΠ²Π΅Ρ, ΠΏΠΎΡΠ»Π°Π² ΡΠΈΠ³Π½Π°Π» ΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ ΡΠΎΠ±ΡΡΠΈΡ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ kill. ΠΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ Π² ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ serverSK.
12.3. ΠΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠΉΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° (ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ 12.1 ΠΈ 12.2) ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ Π΄Π»Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ Π΄Π΅ΠΉΡΠ°Π³ΡΠ°ΠΌΠΌΡ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠΏΡΠ°Π²Π½ΠΎΠΉ ΡΠΎΡΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠΎΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠΈΠΊΠ° ΠΈΠ· Π³Π»Π°Π²Ρ 11.
12.4. ΠΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠΉΡΠ΅ ΡΠ΅ΡΠ²Π΅Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° ΠΈΠ· Π³Π»Π°Π²Ρ 11 (ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° 11.3) ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ Π² Π½Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ Π½Π΅ ΠΏΠΎΡΠΎΠΊΠΈ ΠΈΠ· ΠΏΡΠ»Π° ΠΏΠΎΡΠΎΠΊΠΎΠ² ΡΠ΅ΡΠ²Π΅ΡΠ°, Π° ΠΏΠΎΡΠΎΠΊΠΈ, ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ ΠΏΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ. ΠΠΌΠ΅ΡΡΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°.
12.5. ΠΡΠΎΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΡ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»ΠΈ Π²Π½ΡΡΡΠΈΠΏΡΠΎΡΠ΅ΡΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±ΡΡΡΡΠ΅Π΅ Π²Π½Π΅ΠΏΡΠΎΡΠ΅ΡΡΠ½ΡΡ . ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ° ΡΠ»ΠΎΠ² (ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° 12.3); ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (wc), Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ DLL, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½Π°Ρ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ 12.3.
12.6. ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ², ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° serverSK, ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎΡΠΎΠΊΠΎΠ² ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠΉΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ½ΡΠ² ΡΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ , ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΡΡΡΠΊΡΡΡΡ Ρ ΡΠ΅Π»ΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΡΠ΅ΡΠ²Π΅ΡΠ°, Π·Π°Π²Π΅ΡΡΠΈΠ²ΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.
12.7. Π Π°Π·ΡΠ°Π±ΠΎΡΠ°ΠΉΡΠ΅ Π²Π½ΡΡΡΠΈΠΏΡΠΎΡΠ΅ΡΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠΎΠ΄Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠΉΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ grep (ΡΠΌ. Π³Π»Π°Π²Ρ 6).
12.8. Π£ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΡΠΉΡΠ΅ ΡΠ΅ΡΠ²Π΅Ρ (ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° 12.2) ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ DLL Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅. ΠΡΠ»ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π²ΡΠ΅ DLL Π² ΠΏΠ°ΠΌΡΡΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΠΉΡΠ΅ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΈΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ Π²ΡΠ³ΡΡΠ·ΠΊΠΈ.
12.9. ΠΡΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ setsockopt ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΡΠΈΠΈ SO_LINGER. ΠΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΎΠΏΡΠΈΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠ΅ΡΠ²Π΅ΡΠ°.
12.10. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° Windows Sockets 2.0 Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΈ ΠΏΡΠΈΠ΅ΠΌΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ 12.1 ΠΈ 12.2.
12.11. ΠΠ±Π΅ΡΠΏΠ΅ΡΡΡΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΡΠ΅ΡΠΊΠΈ ΡΠ΅ΡΡΡΡΠΎΠ² Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ serverSK (Π·Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΡΠ°Π·ΡΡΡΠ½Π΅Π½ΠΈΡΠΌΠΈ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΡ 11.8). ΠΡΠΎΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ serverSKST, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ»Π° ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π° Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ DLL Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ 12.4.
12.12. Π Π°ΡΡΠΈΡΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ 12.3 ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π·Π°Π½ΠΎΡΠΈΠ» ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΈ ΡΠΈΠΏΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² ΠΊΠΎΠ½Π΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°.
12.13. Π Π°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ (ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅). ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ UNIX-ΡΠΈΡΡΠ΅ΠΌΠ΅, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΡ Ρ Windows-ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠΈΡΠ΅ Π½Π° UNIX-ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ clientSK ΠΈ ΠΏΠΎΠΏΡΡΠ°ΠΉΡΠ΅ΡΡ, ΠΏΠΎΠ»ΡΡΠΈΠ² Ρ Π΅Π΅ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ serverSK, Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Windows-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΠΏΡΠΈ ΡΡΠΎΠΌ Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠ°ΠΊ DWORD ΠΈΠ»ΠΈ SOCKET, Π² Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΈΠΏΡ (Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π² unsigned int ΠΈ int). ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π΄Π°Π½Π½ΡΠ΅, ΠΎΠ±ΡΠ°Π·ΡΡΡΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Ρ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠΌ Π±Π°ΠΉΡΠΎΠ². ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ Π΄Π°Π½Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠ°ΠΊ htonl. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠΈΡΠ΅ Π² UNIX ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ serverSK, ΡΡΠΎΠ±Ρ Windows-ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² UNIX. ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠΉΡΠ΅ Π²ΡΠ·ΠΎΠ² DLL Π² Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
12.14. ΠΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠΌ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΡ ΡΠΎΠΊΠ΅ΡΠΎΠ² (Secure Sockets Layer, SSL), ΠΎΠ±ΡΠ°ΡΠΈΠ²ΡΠΈΡΡ ΠΊ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°ΠΌ MSDN ΠΈΠ»ΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°ΠΌ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ "ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ°". Π£ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΡΠΉΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ² SSL Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠ²ΡΠ·ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ.s
ΠΠΠΠΠ 13
Windows Services
Π‘Π΅ΡΠ²Π΅ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠ΅ Π² Π³Π»Π°Π²Π°Ρ 11 ΠΈ 12, ΡΠ²Π»ΡΡΡΡΡ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΌΠΈΡΡ ΠΊΠ°ΠΊ ΡΠΎΠ½ΠΎΠ²ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ. ΠΠΎΠΎΠ±ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΡΡΠΈ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ΅ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ, ΠΏΠΎΡΡΠ»Π°ΡΡ Π·Π°ΠΏΡΠΎΡΡ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΎΡΠ²Π΅ΡΡ ΠΈ ΡΠ°Π·ΡΡΠ²Π°ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΠΊ ΡΠ»ΡΠΆΠ±Ρ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠ³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΡΡΠΎΠ±Ρ Π±ΡΡΡ Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅ΡΠ΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ, ΡΡΠΈ ΡΠ»ΡΠΆΠ±Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΌΠΈ.
Π‘Π»ΡΠΆΠ±Ρ Windows Services,[33] ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΡΠ°Π½Π΅Π΅ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ NT Services, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π²ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΠΏΡΠ΅Π²ΡΠ°ΡΠ΅Π½ΠΈΡ Π½Π°ΡΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π² ΡΠ»ΡΠΆΠ±Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈΠ»ΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΡ Π΅ΡΠ΅ Π΄ΠΎ Π²Ρ ΠΎΠ΄Π° Π² Π½Π΅Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΈΠ»ΠΈ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°ΡΡ ΡΠ²ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Π‘Π»ΡΠΆΠ±Ρ ΠΌΠΎΠ³ΡΡ Π΄Π°ΠΆΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠ°ΠΌΠΈΡ ΡΠ»ΡΠΆΠ±. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ»ΡΠΆΠ±Π°Ρ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ ΡΠ΅Π΅ΡΡΡΠ΅.