Panimula sa Winsock Kasama ang Background at Teknolohiya
Introduction Winsock Including Background Technology
Pangunahing pinag-uusapan ng post na ito ang Windows Sockets API, na maaaring paikliin sa WSA at Winsock. Pagkatapos basahin ang post na ito, maaari mong malaman ang kahulugan nito, background, teknolohiya, pati na rin ang mga pagpapatupad.
Sa pahinang ito :Kahulugan sa Winsock
Ano ang Winsock? Sa computing, ang Winsock ay isang teknikal na detalye na ginagamit upang tukuyin kung paano dapat ma-access ng software ng Windows network ang mga serbisyo ng network, lalo na ang TCP/IP. Ito ay tinatawag na Winsock dahil ito ay isang adaptasyon ng Berkeley UNIX socket interface sa Windows. Ang socket ay isang espesyal na kasunduan na ginagamit upang kumonekta at makipagpalitan ng data sa pagitan ng dalawang proseso ng programa sa parehong computer o network.
Ang Winsock ay ang abbreviation ng Windows Sockets API (WSA). Tinutukoy nito ang karaniwang interface sa pagitan ng mga application ng Windows TCP/IP client (tulad ng mga FTP client o Web browser) at ang pangunahing TCP/IP protocol stack.
Kaugnay na Post: Gamitin ang Netsh Winsock Reset Command para Ayusin ang Problema sa Windows 10 Network
Background ng Winsock
Ang Windows Sockets API ay iminungkahi ni Martin Hall ng JSB Software (mamaya Stardust Technologies) sa talakayan ng BoF (Bird of a Feather) sa CompuServe BBS network noong Oktubre 1991.
Ang unang bersyon ng detalye ay isinulat ni Martin Hall, Mark Towfiq ng Microdyne (mamaya Sun Microsystems), Geoff Arnold ng Sun Microsystems, at Henry Sanders at J Allard ng Microsoft sa tulong ng marami pang iba.
Mayroong ilang mga talakayan sa kung paano pinakamahusay na malutas ang copyright, intelektwal na ari-arian, at potensyal na mga isyu sa antitrust, at pagsasaalang-alang ng trabaho sa pamamagitan ng IETF o ang pagtatatag ng mga non-profit na pundasyon. Sa huli, napagpasyahan na ang detalye ay dapat na naka-copyright lamang ng limang (hindi kaakibat) na may-akda.
Tumanggi ang lahat ng kalahok na developer na paikliin ang pangalan sa simpleng Winsock sa mahabang panahon dahil maraming kalituhan sa pagitan ng API at DLL library file (winsock.dll), na naglantad lamang sa pangkalahatang interface ng WSA sa application sa itaas nito. Karaniwang pinaniniwalaan na ang pagtiyak lamang na ang DLL file ay umiiral sa system ang makakapagbigay ng kumpletong suporta sa TCP/IP protocol.
Teknolohiya ng Winsock
Tinutukoy ng pagtutukoy ng Windows Socket API ang dalawang interface: API na ginagamit ng mga developer ng application, at SPI na nagbibigay ng paraan para sa mga developer ng network software upang magdagdag ng mga bagong protocol module sa system. Ang bawat interface ay kumakatawan sa isang kontrata.
Ginagarantiyahan ng API na ang mga sumusunod na application ay maaaring tumakbo nang normal sa anumang pagpapatupad ng protocol ng anumang network software vendor. Ginagarantiyahan ng kontrata ng SPI na ang mga sumusunod na protocol module ay maaaring idagdag sa Windows upang magamit ang mga ito ng mga application na sumusunod sa API.
Bagama't mahalaga ang mga kontratang ito noong unang inilabas ang Windows Sockets, ang mga ito ay may kahalagahang pang-akademiko ngayon dahil nangangailangan ang network environment ng suporta sa multi-protocol. Kasama sa bersyon 2.0 ng Windows Sockets API ang function ng paggamit ng IPX/SPX, bagama't halos hindi na ginagamit ang protocol na ito noong umalis ang WSA 2.0 sa pabrika.
Ang code at disenyo ng Windows Sockets ay nakabatay sa mga BSD socket, ngunit ang mga karagdagang feature ay ibinibigay upang payagan ang API na umayon sa kumbensyonal na modelo ng Windows programming.
Halos sakop ng Windows Sockets API ang lahat ng feature ng BSD sockets API, ngunit may ilang hindi maiiwasang mga hadlang, na pangunahing sanhi ng mga pangunahing pagkakaiba sa pagitan ng Windows at Unix (bagaman ang pagkakaiba sa pagitan ng Windows Sockets at BSD socket ay mas mababa kaysa sa pagkakaiba sa pagitan ang huli at STREAMS).
Gayunpaman, ang layunin ng disenyo ng mga Windows socket ay gawing medyo madali para sa mga developer na mag-port ng mga application na nakabatay sa socket mula sa Unix patungo sa Windows. Hindi sapat na lumikha ng mga API na kapaki-pakinabang lamang para sa mga bagong nakasulat na programa sa Windows.
Samakatuwid, ang Windows Sockets ay naglalaman ng maraming elemento na idinisenyo upang mapadali ang pag-port. Halimbawa, maaaring gamitin ng mga Unix application ang parehong errno variable upang mag-log ng mga error sa network at mga error na nakita sa mga karaniwang function ng C library.
Dahil hindi ito maipapatupad sa Windows, ang Windows Sockets ay nagpakilala ng isang espesyal na function, WSAGetLastError(), upang kunin ang impormasyon ng error. Ang gayong mekanismo ay lubhang nakakatulong, ngunit ang pag-port ng application ay napakakumplikado pa rin.
Maraming primitive na TCP/IP na application ang ipinatupad sa pamamagitan ng paggamit ng mga feature ng system na partikular sa Unix (tulad ng mga pseudo terminal at fork system calls), at naging problema ang pag-reproduce ng function na ito sa Windows. Sa medyo maikling panahon, ang pag-port ay nagbigay daan sa pagbuo ng mga nakalaang Windows application.
Pagpapatupad ng Winsock
- Ang Microsoft ay hindi nagbigay ng pagpapatupad ng Winsock 1.0.
- Ang Bersyon 1.1 ng Winsock ay ibinigay sa isang add-on na pakete (tinatawag na Wolverine) para sa Windows para sa Workgroups (code na pinangalanang Snowball).
- Ang bersyon ng Winsock 2.1 ay ibinigay sa isang add-on na pakete para sa Windows 95.
- Ang pinakabagong bersyon ng Winsock 2.x ay ibinigay kasama ng bagong bersyon ng Windows o bilang bahagi ng isang service pack.
- Maaaring palawigin ang Winsock 2 sa pamamagitan ng mekanismong tinatawag na Layered Service Provider (LSP).