dabere na | Berkeley sockets |
---|---|
kọwara na URL | https://docs.microsoft.com/en-us/windows/win32/winsock/windows-sockets-start-page-2 |
Stack Exchange mkpado | https://stackoverflow.com/tags/winsock |
Na kọmpụta, Windows Sockets API (WSA), nke e mechara mee ka ọ dị mkpirikpi Winsock, bụ interface mmemme ngwa (API) nke na-akọwa etu ngwanrọ ngwa netwọk Windows ga-esi nweta ọrụ netwọk, ọkachasị TCP/IP / IP. Ọ na-akọwa interface ọkọlọtọ n'etiti ngwa onye ahịa Windows TCP / IP (dị ka Onye ahịa FTP ma ọ bụ ihe nchọgharị weebụ) na usoro TCP / IP dị n'okpuru. Nkọwa a dabere na Berkeley sockets API eji na BSD maka nkwukọrịta n'etiti mmemme.
Usoro sistemụ arụmọrụ Microsoft mbụ, ma MS-DOS na Microsoft Windows, nyere ikike netwọk dị oke ala, dabere na NetBIOS. Karịsịa, Microsoft enyeghị nkwado maka usoro TCP / IP n'oge ahụ. Ọtụtụ ìgwè mahadum na ndị na-ere ahịa, gụnyere otu PC / IP na MIT, FTP Software, Sun Microsystems, Ungermann-Bass, na Excelan, webatara ngwaahịa TCP / IP maka MS-DOS, mgbe mgbe dị ka akụkụ nke ngwaike / ngwanrọ. Mgbe a tọhapụrụ Windows 2.0, ndị na-ere ahịa ndị a sonyeere ndị ọzọ dị ka Distinct na NetManage n'inye TCP / IP maka Windows.
Ihe na-adịghị mma nke ndị na-ere ahịa a niile chere ihu bụ na onye ọ bụla n'ime ha jiri API nke ha (Application Programming Interface). Na-enweghị otu ụdị mmemme ọkọlọtọ, ọ siri ike ime ka ndị mmepe ngwanrọ nwere onwe ha mepụta ngwa netwọk nke ga-arụ ọrụ na mmejuputa TCP / IP nke onye na-ere ahịa ọ bụla. Tinye eziokwu ahụ bụ na ndị ọrụ ikpeazụ na-akpachara anya ka a kpọchie ha n'ime otu onye na-ere ahịa ma o doro anya na ọ dị mkpa ka a kwado ha.
Ọrụ Windows Sockets malitere na nnọkọ Birds Of A Feather nke e mere na Interop '91 na San Jose n'October 10, 1991. [1] Ọ dabeere na nkọwapụta socket nke NetManage mepụtara na nke ọ tinyere na ngalaba ọha na eze na nzukọ a. N'oge ahụ, NetManage socket bụ naanị 100% DLL dabeere, ngwaahịa multi-threaded maka Windows 3.0 dị. Martin Hall, Mark Towfiq nke Microdyne (mgbe e mesịrị Sun Microsystems), Geoff Arnold nke Sun Microssystems, na Henry Sanders na J Allard nke Microsoft dere mbipụta mbụ nke nkọwa ahụ, site n'enyemaka nke ọtụtụ ndị ọzọ. [citation needed] E nwere mkparịta ụka ụfọdụ banyere otu esi edozi ikike nwebisiinka, ihe onwunwe ọgụgụ isi, na nsogbu ndị nwere ike imegide ntụkwasị obi, a tụlere ịrụ ọrụ site na IETF ma ọ bụ iguzobe ntọala na-enweghị uru. N'ikpeazụ, e kpebiri na nkọwa ahụ ga-abụ naanị ndị edemede ise ahụ ka ha bụrụ ndị na-enweghị njikọ.
Ndị mmepe niile na-esonye guzogidere mbelata aha ahụ ka ọ bụrụ Winsock dị mfe ruo ogologo oge, [a chọrọ nkọwa] ebe enwere nnukwu mgbagwoju anya n'etiti ndị ọrụ.n'etiti API na faịlụ ọba akwụkwọ DLL (winsock.dll) nke na-ekpughe naanị interfaces WSA nkịtị na ngwa dị n'elu ya. Ndị ọrụ ga-na-ekwenyekarị na naanị ijide n'aka na faịlụ DLL dị na sistemụ ga-enye nkwado protocol TCP/IP zuru oke.
Nkọwapụta Windows Sockets API na-akọwa interface abụọ: API nke ndị mmepe ngwa na-eji, na SPI, nke na-enye ụzọ maka ndị mmepe ngwanrọ netwọk iji gbakwunye modulu protocol ọhụrụ na usoro ahụ. Njikọ ọ bụla na-anọchite anya nkwekọrịta. API na-ekwe nkwa na ngwa kwekọrọ ga-arụ ọrụ nke ọma na mmejuputa usoro kwekọrọ site na onye ọ bụla na-ere ngwanrọ netwọk. Nkwekọrịta SPI na-ekwe nkwa na enwere ike ịgbakwunye usoro nkwekọrịta na Windows ma si otú a ga-abụ nke ngwa API ga-eji mee ihe. Ọ bụ ezie na nkwekọrịta ndị a dị mkpa mgbe a tọhapụrụ Windows Sockets na mbụ, ebe ọ bụ na gburugburu netwọk chọrọ nkwado multi-protocol (lee n'elu) ha bụ ugbu a naanị mmasị agụmakwụkwọ. Ntinye na Windows Sockets API version 2.0 bụ ọrụ iji IPX / SPX, ọ bụ ezie na usoro iwu ahụ adịlarị n'oge WSA 2.0 zitere. Microsoft ebutewo usoro TCP/IP / IP na nsụgharị Windows niile na-adịbeghị anya, ọ nweghịkwa ihe ndị ọzọ dị mkpa. Enweghịkwa mmasị dị ukwuu n'ịmejuputa usoro ndị ọzọ karịa TCP / IP.
Koodu na imewe Windows Sockets dabere na sockets BSD, mana ọ na-enye ọrụ ndị ọzọ iji kwe ka API gbasoo usoro mmemme Windows. Windows Sockets API kpuchiri ihe fọrọ nke nta ka ọ bụrụ atụmatụ niile nke sockets API BSD, mana enwere ụfọdụ ihe mgbochi a na-apụghị izere ezere nke na-esikarị na ọdịiche dị n'etiti Windows na Unix (ọ bụ ezie na Windows Sockets dị obere na sockets BSD karịa nke ikpeazụ mere na STREAMS). Ọkpụkpọ ọrụ niile dị na API na-amalite na aha , dịka maka izipu data na oghere ejikọrọ.
Otú ọ dị, ọ bụ ebumnuche imewe nke Windows Sockets na ọ ga-adịtụ mfe maka ndị mmepe na ngwa ndị dabeere na ọdụ ụgbọ mmiri site na Unix ruo Windows. A naghị ele ya anya dị ka ihe zuru ezu iji mepụta API nke bara uru naanị maka mmemme Windows e dere ọhụrụ. N'ihi nke a, Windows Sockets gụnyere ọtụtụ ihe ndị e mere iji mee ka ọ dịrị mfe ịkwagharị. Dịka ọmụmaatụ, ngwa Unix nwere ike iji otu errno variable dekọọ ma njehie netwọk na njehie achọpụta n'ime ọrụ ọbá akwụkwọ C. Ebe ọ bụ na nke a agaghị ekwe omume na Windows, Windows Sockets webatara ọrụ raara onwe ya nye, , iji weghachite ozi njehie. Usoro ndị dị otú ahụ bara uru, mana ntinye ngwa nọgidere na-agbagwoju anya. E mepụtara ọtụtụ ngwa TCP/IP / IP mbụ site na iji atụmatụ sistemụ kpọmkwem na Unix, dị ka pseudo terminals na oku usoro fork, na imepụtaghachi ọrụ dị otú ahụ na Windows bụ nsogbu. N'ime oge dị mkpirikpi, porting nyere ohere maka mmepe nke ngwa Windows raara onwe ya nye.
Windows 8 gụnyere ndọtị "RIO" (Registered IO) maka Winsock. [2] A na-eme ndọtị ndị a iji belata ihe onye ọrụ na-eme na mgbanwe nke kernel maka ụzọ data netwọk na ụzọ ọkwa, mana jiri ihe ndị ọzọ nke Windows TCP na UDP (ma jiri kaadị netwọk dị ugbu a). Ụzọ nhazi (dịka ọmụmaatụ, ọrụ "njikọ") agbanwebeghị site na ụzọ Winsock.