Hordhaca Isgaadhsiinta WebSockets iyo Doorkeeda
WebSockets waxay bixiyaan hab isgaadhsiineed oo laba-geesood ah (duplex) oo wakhtiga dhabta ah ah, kaas oo u oggolaanaya macmiilka iyo serverka inay isweydaarsadaan xogta iyada oo aan loo baahnayn in mar kasta la soo saaro codsi cusub oo HTTP ah. Hab-maamuuskan wuxuu muhiim u yahay dhisidda barnaamijyada casriga ah ee u baahan cusboonaysiin degdeg ah, sida nidaamyada sheekaysiga, dashboards-ka maaliyadeed, iyo aaladaha la-socodka xogta tooska ah.
Si ka duwan codsiyada caadiga ah ee HTTP ee ku salaysan weydiinta iyo jawaabta (request-response), isku xidhka WebSocket wuxuu furan yahay inta ay socoto wada-hadalka, taas oo meesha ka saaraysa dib-u-dhaca ku yimaada dhisidda isku xidhka mar kasta. Qalabka Macmiilka Imtixaanka WebSocket wuxuu kuu sahlayaa inaad si toos ah u tijaabiso isku xidhkaas, adoo u maraya biraawsarkaaga si aad u hubiso hab-dhaqanka serverka.
Hab-maamuuska ws:// iyo wss:// iyo Amnigooda
Markaad isticmaalayso WebSockets, waxaad la kulmi doontaa laba hab-maamuos oo kala duwan: ws:// (WebSocket) iyo wss:// (WebSocket Secure). Farqiga u dhexeeya labadan wuxuu la mid yahay farqiga u dhexeeya HTTP iyo HTTPS:
- ws://: Wuxuu xogta u diraa si qoraal cad ah oo aan la sirin. Tani waxay ka dhigan tahay in xogta la isku gudbinayo ay u nugushahay in la dhexda u galo ama la beddelo.
- wss://: Wuxuu isticmaalaa borotokoolka TLS/SSL si uu u xiro isku xidhka, isagoo hubinaya in dhammaan fariimaha la isku diro ay yihiin kuwo la siriyeeyay oo ammaan ah.
Bogagga internetka ee isticmaala HTTPS waxay inta badan u baahan yihiin isku xidhka wss:// si looga fogaado khaladaadka amniga ee ka dhasha isku xidhka xogta aan la sirin ee ku dhex jirta bog ammaan ah. Qalabkani wuxuu taageeraa oo keliya labadan hab-maamuos. Haddii aad isku daydo inaad isticmaasho nidaam kale, qalabku wuxuu soo bandhigayaa khadadka khaldan ee ah: "Isticmaal ws:// ama wss:// ciwaanka".
Fahanka Meertada Nolosha ee Isku Xidhka WebSocket
Isku xidhka WebSocket wuxuu maraa dhowr marxaladood oo muhiim ah inta uu jiro:
- Isku-xidhka (Handshake): Macmiilku wuxuu u diraa codsi HTTP ah server-ka si uu ugu beddelo isku xidhka borotokoolka WebSocket. Inta lagu guda jiro isku daygan, qalabku wuxuu muujinayaa "Ku xidhida
‹address›…". - Isku xidhka Furan: Marka server-ku aqbalo codsiga, isku xidhka waa la furaa, waxaana diiwaanka ka soo muuqanaya "Ku xidhan
‹address›.". - Is-weydaarsiga Fariimaha: Labada dhinac waxay bilaabi karaan inay is u diraan fariimo qoraal ama binary ah.
- Xidhitaanka: Mid ka mid ah dhinacyada ayaa bilaabaya xidhitaanka isku xidhka, kaas oo ku dhammaada xaalad xidhan oo muujisa koodka xidhitaanka iyo sababta.
Xiriirku wuxuu bilaabmaa oo keliya marka aad doorato badhanka "Ku xidhnow". Haddii server-ku uu ku guuldareysto inuu furo isku xidhka 10 ilbiriqsi gudahood, qalabku wuxuu joojinayaa isku dayga wuxuuna muujinayaa "Seerfarku xiriirkii kuma furin ilbiriqsiyo gudahood 10".
Xeerarka Gelinta Xogta iyo Xaddidaadaha Qalabka
Si loo hubiyo in qalabku u shaqeeyo si hufan oo ka jawaabid degdeg ah leh, waxaa jira xeerar iyo xaddidaado dhowr ah oo loo dejiyay gelinta xogta iyo diiwaanka fariimaha:
- Xaddidnaanta Ciwaanka: Ciwaanka WebSocket ee la gelinayo qaybta "Cinwaanka WebSocket" waa inuu ahaadaa mid dhamaystiran oo ka bilaabma
ws://amawss://. Haddii kale, qalabku wuxuu muujinayaa "Geli ciwaanka WebSocket oo dhamaystiran sida wss://example.com/socket". Sidoo kale, ciwaanku waa inuusan ka badnaan 2,048 xaraf; haddii uu ka badnaado, waxaa soo baxaya fariinta "Cinwaankaasi aad buu u dheer yahay. Ku hoos hay xarfaha 2,048.". - Xaddidnaanta Fariinta: Waxaad diri kartaa hal fariin qoraaleed markiiba adoo isticmaalaya badhanka "Fariin dir" ama adoo riixaya Ctrl+Enter ama Command+Enter. Fariinta ugu badan ee la diri karo waa 100,000 oo xaraf. Haddii aad xadkaas dhaafto, qalabku wuxuu muujinayaa "Fariintaasi si aan caadi ahayn ayay u weyn tahay. Ku hoos hay xarfaha 100,000.". Sidoo kale, ma diri kartid fariin adigoon marka hore ku xidhnayn server-ka; isku daygaas wuxuu keeni doonaa fariinta "Ku xidhnow intaadan fariin dirin".
- Maareynta Diiwaanka (Log Management): Diiwaanka fariimaha wuxuu hayn karaa ugu badnaan 500 oo gelis. Marka uu xadkaas ka badnaado, gelisyadii ugu duugnaa waa laga saarayaa si boggu u ahaado mid firfircoon, waxaana soo baxaya fariinta "
‹count›gelisyadii duuga ahaa waa laga saarayaa si boggan looga dhigo mid ka jawaabaya.". Gelis kasta oo diiwaanka ka mid ah wuxuu muujin karaa ugu badnaan 20,000 oo xaraf; haddii fariintu ka dheeraato, qaybta dambe waa la qarinayaa waxaana lagu muujinayaa fariinta "‹count›jilayaal badan ayaa ku qarsoon aragtidan.". - Nadiifinta Diiwaanka: Markaad doorato "Nadiifi qoraalka", qalabku wuxuu tirtirayaa oo keliya fariimaha ka muuqda shaashadda, laakiin ma xirayo isku xidhka socda mana dib-u-dejinaayo tirada fariimaha la diray ama la helay.
Turjumidda Koodadka Xidhitaanka iyo Khaladaadka Isku Xidhka
Marka isku xidhka WebSocket uu xirmo, qalabku wuxuu muujinayaa koodka xidhitaanka ee rasmiga ah iyo sababta uu server-ku bixiyay. Diiwaanka dhexdiisa, waxaad ku arki doontaa fariinta "Waxaa ku xidhan koodka ‹code› (‹clean›). Sababta: ‹reason›".
Heerka xidhitaanka wuxuu noqon karaa "nadiif ah" haddii labada dhinac ay si sax ah u xireen isku xidhka, ama "aan nadiif ahayn" (unclean) haddii isku xidhku u go'ay si lama filaan ah. Haddii server-ku uusan bixin wax sabab ah, qalabku wuxuu muujinayaa "Sabab looma keenin".
Haddii isku xidhku fashilmo inta lagu guda jiro isku dayga dhisidda xiriirka, qalabku wuxuu soo bandhigayaa fariinta khaldan ee ah: "Xidhiidhku wuu fashilmay. Hubi ciwaanka, shahaadada, helitaanka serverka iyo xeerarka gelitaanka browserka.". Tani waxay inta badan dhacdaa sababtoo ah:
- Ciwaanka la geliyay oo khaldan.
- Shahaadada SSL/TLS ee server-ka oo aan la aamini karin ama dhacday.
- Server-ka oo aan shaqaynayn ama aan laga heli karin internetka dadweynaha.
- Xeerarka amniga ee browserka (sida CORS ama Content Security Policy) oo xannibaya isku xidhka.
Kala Duwanaanshaha Fariimaha Qoraalka iyo kuwa Binary-ga ah
Hab-maamuuska WebSocket wuxuu taageeraa laba nooc oo waaweyn oo fariimo ah: fariimaha qoraalka (Text) iyo fariimaha binary-ga ah (Binary).
| Nooca Fariinta | Sida loo muujiyo diiwaanka | Faahfaahinta |
|---|---|---|
| Qoraal (Text) | Qoraal | Waxay ka kooban tahay xog qoraal ah oo caadi ah (sida JSON ama XML). |
| Binary | Fariinta binary | Waxay ka kooban tahay xog binary ah (sida sawirro ama faylal). Qalabku wuxuu muujinayaa ereyga "Fariinta binary" iyo cabbirka fariinta oo ah "bytes". |
Badbaadada Xogta iyo Habka Shaqsiga ah ee Processing-ka
Markaad isticmaalayso qalabkan, badbaadada xogtaada waa mid la dammaanad qaaday sababtoo ah habka uu u shaqeeyo. Ma jiraan wax xog ah oo loo soo raro BroBroGo ama lagu kaydiyo boggan. Dhammaan habaynta xogta waxay si toos ah uga dhacdaa biraawsarkaaga dhexdiisa. Ciwaanka aad geliso iyo fariimaha aad dirto waxay si toos ah uga socdaan biraawsarkaaga una socdaan serverka WebSocket ee aad doorato.
Si kastaba ha ahaatee, waxaa muhiim ah inaad raacdo talooyinka amniga ee ku saabsan xogta xasaasiga ah. Ka saar aqoonsiga gaarka ah iyo macluumaadka xasaasiga ah ee sharciga, dhaqaalka ama caafimaadka ka hor inta aanad xidhin. Maadaama biraawsarkaaga uu si toos ah farriimaha ugu soo dirayo seerfarka aad geliso, boggani ma xakamayn karo gelitaanka iyo haynta xogta ee dhanka server-kaas.
Su'aalaha Badanaa La Is Weydiiyo (FAQ)
Waa maxay xogta WebSocket aan halkan ku eegi karo?
Waxaad arki kartaa qoraal kasta ama fariin kasta oo uu soo bandhigay biraawsarkaaga, jihadiisa, wakhtiga iyo cabbirka, oo lagu daray koodka dhow ee u dambeeya, sababta iyo heerka nadiifka ah ee dhow. Bogagga browserka ma soo bandhigi karaan jajabyada heerka-shabakad ama Ping iyo Pong.
Waa maxay sababta xiriirku u xumaado xitaa marka ciwaanka uu ka shaqeeyo meel kale?
Bog aamin ah, browserku wuxuu u baahan karaa wss://. Seerfarku waa inuu sidoo kale aqbalaa isku xirka browserka iyo asalka bogga. Macmiilkani kuma dari karo madax-gacanta caadada u ah, ma dhaafi karo khaladaadka shahaadada ama ma burin karo xeerarka gelitaanka serferka.
Ma ku tijaabin karaa wax soo saar ama xog xasaasi ah?
Isticmaal xogta synthetic mar kasta oo ay suurtogal tahay. Ka saar magacyada, faahfaahinta akoontiga, diiwaanada sharciga, macluumaadka maaliyadeed iyo macluumaadka caafimaadka ka hor inta aanad dirin. Farriimaha waxa ay aadayaan serfarka aad doorato, kaas oo sharci dejintiisa iyo sii hayntiisu ay ka baxsan yihiin xakamaynta boggan.
Muxuu qalabkani u muujin waayay fariimaha Ping iyo Pong?
Xaddidaadaha browser-ka awgeed, API-yada WebSocket ee ku dhex jira biraawsarka ma bixiyaan marin loo galo xargaha xakamaynta ee heerka hoose sida Ping iyo Pong, ama kala qaybsanaanta fariimaha heerka shabakada. Qalabkani wuxuu muujin karaa oo keliya fariimaha codsiga ee dhamaystiran ee uu browserku u oggolaado.