Chat-ka Oo Nool Marka Telefoonku Seexdo
Agent-ka Mythex wuxuu shaqayn karaa daqiiqado hal codsi, adiguna waxaad ka eegi kartaa telefoon — kaasoo qufulaya, app kale u beddelaya, shabakad beddelaya inta uu shaqaynayo. Laba cilladood ayaa khaldin jiray taas. Midda hore, chat-ku wuxuu u arkayay signal kasta oo “bogga mar kale waa muuqdaa” caddayn u ah in xidhiidhkiisa dhintay, wuxuuna wareegayay ilaa uu ku istaago “Connecting…”. Midda kale, telefoon seexday jawaabta ugu horeysa ee chat cusub, markii ay dib u soo laabatay waxay muujinayday qaybaha ugu horeeya oo keliya, ilaa uu dib u soo nasho gacanta. Labaduba waa la hagaajiyay.
Sida chat-ku u raaco wareeg socda
Intii agent-ku shaqaynayo, chat-ku wuxuu hayaa stream furan oo ka imanaya server-adeenna: tallaabo kasta — fekerka, wicitaanka qalabka, qayb jawaabta — waxay u imaanaysaa dhacdo. Haddii stream-ku dhaco, chat-ku dib u xidhiidhaa server-ku wuxuu dib u ciyaaraa dhacdooyinkii dhowaa oo ka soo baxa buffer-ka ilaa 120 ilbiriqsi. Wareeggu markii uu dhammaado, chat-ku wuxuu sidoo kale weydiiyaa server-ka taariikhda la kaydiyay oo wuxuu iswaafajiyaa waxa muuqday iyo waxa la kaydiyay. Tallaabadaas dambe waxay qabataa wax kasta oo stream-ka ka seegay.
Si loo kala sooco xidhiidh firfircoon iyo mid dhintay markii aan waxba dhicin, server-ku wuxuu u diraa “ping” yar 15 ilbiriqsi kasta.
Cillad 1: toosinta telefoonka waxay dishay stream caafimaad qaba
Browsers-ku waxay u sheegaan bogga marka uu mar kale muuqdo: kadib markii tab la beddelo, kadib markii shaashadda la furo. Waxaan taas u isticmaalnay sida calaamad in xidhiidhka la hubiyo — dhab ahaan, in stream-ka la joojiyo oo dib loo xidhiidho, anagoo u malaynayna in uu dhintay intii uu qarsoon ahaa.
Telefoonada iyo browsers-ka lagu dhex dhisay, dhacdooyinkaasi way ka badan yihiin marka streams-ka dhintaan — kasta oo tab la beddelo, kasta oo shaashad la furo, iyo browsers-ka qaarkood ilaa dhowr ilbiriqsi kasta. Mid kasta wuxuu joojin jiray stream caafimaad qaba. Chat-ku wuu dib u xidhiidhi jiray, dib u ciyaari jiray, markaas mar kale wuu joojin jiray, ugu dambeyntiina wuxuu istaagi jiray “Connecting…”. Kadibna wuxuu sheegi jiray in wareegii dhammaaday iyadoo agent-ku weli shaqaynayay.
Xalka: go’aan qaado iyadoo la eegayo in stream-ku hadlayo
Chat-ku hadda wuxuu diiwaangeliyaa waqtiga ugu dambeeyay ee stream kasta oo mashruuc ah helay wax kasta — dhacdooyinka iyo pings-ka 15 ilbiriqsi labaduba. Signal-ka “mar kale waa muuqdaa” wuxuu joojiyaa stream-ka kaliya haddii uu aamusay 25 ilbiriqsi: wax ka dheer intervalka ping-ka iyo gudbinta shabakad gaabiyeysa, sidaas darteed stream firfircoon weligeed ma muuqdo. Tijaabooyinku waxay hubinayaan in ping uu tilmaamo nolol, iyo in stream uu hadda ping-gareeyay aan loo tixgelin in uu dhintay.
Habkii aan ka qaadanay: muuqaalka bogga wuxuu sheegaa wax ku saabsan bogga, ma aha xidhiidhka shabakadda. Weydii xidhiidhka.
Cillad 2: jawaab qayb ah kadib markii telefoonku toosay
Tan waxaan ku soo celin karnay mar kasta ee aan isku dayno iPhone simulator-ka:
- Bilow chat cusub oo dir codsi qaadanaya wakhti.
- Ka tag telefoonka inuu seexdo inta lagu dhisayo.
- Ku soo noqo markii wareeggu dhammaado oo buffer-ka replay-ga 120 ilbiriqsi uu dhaco.
Chat-ku wuxuu muujinayay qaybaha ugu horeeya ee jawaabta, calaamadaysan sidii dhammaaday — oo sidaas ayay ahaan jirtay ilaa aad bogga dib u cusboonaysiiso.
Sababta
Chat cusub ma lahan thread — taariikhda la kaydiyay ee wada-hadalka — ilaa fariinta koowaad ay abuurto. Taasi waxay ku dhacdaa gudaha shaqada dirista, kadib markii dirista hore u qabsatay tallaabada reconcile, taas oo wali u malaynaysay in aanu thread jirin. Sidaas darteed dhamaadka wareegga koowaad ee chat cusub, reconcile wuxuu arkay in aanu thread jirin, oo si aamusnaan ah ayuu soo noqday aanu waxba weydiinin.
Badanaa ma aysan dareemin qofna, sababtoo ah stream-ku horeba wuu soo gudbiyay wareeg oo dhan. Laakiin telefoon seexday wareegga oo ku soo noqday kadib markii buffer-ka replay-ga 120 ilbiriqsi uu dhacay ma heli karin dhacdooyinka ka maqnaa stream-ka — reconcile-ka oo buuxin lahaa godka ma uu waligiis socon.
Xalka
- Dirista waxay u sheegtaa reconcile thread-ka wareegu u dhow yahay, sidaas darteed wareegga koowaad ee chat cusub waxaa loo reconcile-gareeyaa sida kuwa kale. Haddii aad furto chat kale markii jawaabta soo gaarto, natiijadu waa la tuuraa halkii laga tuuri lahaa meel qaldan.
- Reconcile fashilmay waa dib loo isku dayaa. Telefoon soo kacaysa xidhiidh xun ayaa ogaan karta in wareegu dhammaaday ka dibna uu fashilmo soo qaadista. Taasi hadda waa la xusuustaa, chat-ku mar kale wuu weydiiyaa marka tab-ka dib loo muujiyo ama shabakaddu soo laabato.
- “Worked for” waa daacad. Jawaab kasta waxay muujisaa intee in le’eg agent-ku shaqeeyay. Haddii tab-ku aan arag fariinta server-ka ee dhammaadka wareegga, waxay u muuqan jirtay inay ka buuxiso saacaddeeda — taas oo ka bilaabanaysay Send ilaa telefoonku soo toosay, oo ay ku jirto wakhtiga uu ka maqnaa. Qiimahaas hadda waxaa lagu calaamadiyaa inuu yahay qiyaas, oo waxaa lagu beddelaa muddada la kaydiyay markii taariikhdu yimaado.
Waxa aan ka qaadanay
- Tijaabi qalabka dadku isticmaalaan, sidii ay u isticmaalaan. Labada cillad waxay ku nool yihiin meesha u dhexaysa “stream shaqeeya” iyo “telefoon ku jira jeeb”.
- Ilaalin aan waligeed socon waa ilaalin been ah. Tallaabada reconcile waxay u jirtay in ay qabato kiiskaas oo kaliya, oo aamusnaan ayay ka dhaaftay.
- Dib u soo kabashada ayaa sidoo kale dib u isku day. Waqtiga telefoonku soo toosho badanaa waa marka xidhiidhkiisu ugu xumaado.
- Ha u muuqdo qiyaas sida xaqiiqo. Muddo ka timid saacad khaldan waa ka xun tahay midkii la’aan; calaamadi ama beddel.
Shaqadaas ayaa sidoo kale nadiifisay waxyaabo yar oo aad arki doonto markii wareeggu socdo: tallaabooyinka shell-ka waxaa lagu calaamadiyaa amarka shaqada samaynaya halkii ay ka ahaan lahaayeen cd, screenshots-ka chat-ka waxay hayaan geesta sare ee bogga oo ku habboon tiirka, mashruuc cusub wuxuu qaataa magaciisa la abuuray adigoon bogga dib u cusboonaysiin.
Haddii aad dhisayso appkaaga telefoonada, hagayaashayada dhismaha web app oo telefoonka u habboon iyo native vs progressive web apps waxay daboolayaan aasaaska. Wax dheeraad ah oo ku saabsan chat-ka laftiisa waxaa ku jira chat docs.