Isofthiwe njengesevisi, ingqalasizinda njengesevisi, inkundla njengesevisi, inkundla yokuxhumana njengesevisi, inkomfa ngevidiyo njengesevisi, kuthiwani ngokudlala ngamafu njengesevisi? Sekuvele kube nemizamo eminingana yokwakha imidlalo yamafu (i-Cloud Gaming), efana ne-Stadia, esanda kwethulwa yi-Google. I-Stadia
U-Thanh Nguyen unqume ukuhlola leli thuba kuphrojekthi yakhe yomthombo ovulekile i-CloudRetro. I-CloudRetro isekelwe ku-Pion,
entry
Ngonyaka odlule, lapho i-Google imemezela i-Stadia, yangihlaba umxhwele. Lo mbono uhlukile futhi usungula izinto ezintsha kangangokuthi ngangihlale ngizibuza ukuthi lokhu kungenzeka kanjani ngobuchwepheshe obukhona. Isifiso sokuqonda kangcono lesi sihloko singenze ngenza inguqulo yami yegeyimu yefu yomthombo ovulekile. Umphumela wawumane umangalisa. Ngezansi ngithanda ukwabelana ngenqubo yokusebenza onyakeni wami
I-TLDR: inguqulo yesilayidi esifushane esinezithombe ezinhle kakhulu
Kungani imidlalo yamafu iyikusasa
Ngikholelwa ukuthi i-Cloud Gaming maduze izoba isizukulwane esilandelayo sokudlala hhayi kuphela, kodwa nezinye izindawo zesayensi yekhompyutha. Imidlalo yamafu iyisiqongo semodeli yeklayenti/iseva. Le modeli ikhulisa ukuphathwa kwe-backend futhi inciphisa umsebenzi we-frontend ngokubamba umdlalo onengqondo kuseva ekude nokusakaza izithombe/umsindo kuklayenti. Iseva yenza ukucubungula okusindayo ukuze iklayenti lingabe lisasemseni wemikhawulo yezingxenyekazi zekhompyutha.
I-Google Stadia empeleni ikuvumela ukuthi udlale
Ikusasa lalobu buchwepheshe: Cabanga nje uma iMicrosoft Windows 10 isebenza kusiphequluli se-Chrome?
Imidlalo yamafu iyinselele ngokobuchwepheshe
Amageyimu angenye yalezo zindawo ezingavamile lapho impendulo yomsebenzisi eqhubekayo, esheshayo idingeka. Uma ngezikhathi ezithile sihlangabezana nokulibaziseka kwemizuzwana emi-2 lapho sichofoza ikhasi, lokhu kwamukelekile. Ukusakazwa kwamavidiyo abukhoma kuvame ukubambezeleka imizuzwana embalwa, kodwa kusanikeza ukusebenziseka okuphusile. Kodwa-ke, uma umdlalo uvame ukuhlehla ngo-500ms, awudlaleki. Umgomo wethu uwukufinyelela ukubambezeleka okuphansi kakhulu ukuze igebe phakathi kokufaka nemidiya libe lincane ngangokunokwenzeka. Ngakho-ke, indlela yendabuko yokusakaza ividiyo ayisebenzi lapha.
Isifanekiso Esijwayelekile Segeyimu Yamafu
Iphrojekthi yomthombo ovulekile CloudRetro
Nginqume ukudala isampula yokuhlola yomdlalo wamafu ukuze ngibone ukuthi konke lokhu kungenzeka yini ngemikhawulo eqinile yenethiwekhi. Ngakhetha isiGolang ukuze ngithole ubufakazi bomqondo ngoba kwakuwulimi engangilwazi kahle futhi lwalufaneleka kahle kulokhu kuqaliswa ngenxa yezizathu eziningi, njengoba ngathola kamuva. I-Go ilula futhi ikhula ngokushesha okukhulu; Iziteshi ku-Go zinhle kakhulu ekuphatheni i-multithreading.
Le phrojekthi
Ungafunda kabanzi mayelana nephrojekthi lapha:
Ukusebenza kwe-CloudRetro
I-CloudRetro isebenzisa imidlalo ye-retro ukukhombisa amandla emidlalo yamafu. Okukuvumela ukuthi uthole okuhlangenwe nakho okuningi okuhlukile kwegeyimu.
- Ukuphatheka komdlalo
- Ukudlala okusheshayo lapho uvula ikhasi; akukho ukulanda noma ukufakwa okudingekayo
- Isebenza kusiphequluli seselula, ngakho-ke ayikho isofthiwe edingekayo ukuze uyiqalise
- Amaseshini egeyimu angakwazi ukwabelwa kuwo wonke amadivayisi amaningi futhi agcinwe emafini ngesikhathi esilandelayo lapho ungena ngemvume
- Umdlalo ungasakazwa, noma ungadlalwa ngabasebenzisi abambalwa ngesikhathi esisodwa:
- I-crowdplay efana ne-TwitchPlayPokemon, inkundla ephambanayo kuphela kanye nesikhathi sangempela esengeziwe
- Imidlalo engaxhunyiwe ku-inthanethi. Abasebenzisi abaningi bangadlala ngaphandle kokusetha inethiwekhi. I-Samurai Shodown manje ingadlalwa abadlali abangu-2 ngenethiwekhi ye-CloudRetro
Inguqulo yedemo yomdlalo waku-inthanethi wabadlali abaningi kumadivayisi ahlukeneIngqalasizinda
Izidingo kanye nesitaki sobuchwepheshe
Ngezansi kunohlu lwezidingo engizibeke ngaphambi kokuqala iphrojekthi.
1. Umdlali oyedwa
Le mfuneko ingase ingabonakali ibaluleke kakhulu noma isobala lapha, kodwa ingenye yezinto zami ezibalulekile engizithathile, ivumela imidlalo yamafu ukuthi ihlale kude nezinsizakalo zokusakaza zendabuko ngangokunokwenzeka. Uma sigxila kugeyimu yomdlali oyedwa, singasusa iseva ephakathi nendawo noma i-CDN ngoba akudingekile ukuthi sisakazekele kubantu abaningi. Esikhundleni sokulayisha ukusakaza kuseva kasinki noma ukudlulisa amaphakethe kuseva ye-WebSocket ephakathi nendawo, ukusakazwa kwesevisi kulethwa ngqo kumsebenzisi ngoxhumano lwe-WebRTC oluntanga kuya kontanga.2. Ukusakazwa kwemidiya yokubambezeleka okuphansi
Ukufunda nge-Stadia, ngivame ukubona i-WebRTC eshiwo kwezinye izindatshana. Ngabona ukuthi i-WebRTC iwubuchwepheshe obuvelele futhi ilungele ukusetshenziswa kumageyimu wamafu. I-WebRTC iphrojekthi ehlinzeka ngeziphequluli zewebhu nezinhlelo zokusebenza zeselula ngokuxhumana kwesikhathi sangempela nge-API elula. Inikeza ukuxhumana kontanga kuya kontanga, ithuthukiselwe imidiya, futhi inamakhodekhi ajwayelekile akhelwe ngaphakathi njenge-VP8 ne-H264.Ngibeke phambili ukuqinisekisa ulwazi lomsebenzisi olungcono kakhulu kunokugcina izithombe zekhwalithi ephezulu. Okunye ukulahlekelwa kuyamukeleka ku-algorithm. I-Google Stadia inesinyathelo esengeziwe sokunciphisa usayizi wesithombe kuseva, futhi ozimele bakhushulelwa kukhwalithi ephezulu ngaphambi kokudluliselwa kontanga.
3. Ingqalasizinda esabalalisiwe enomzila wendawo
Kungakhathaliseki ukuthi i-algorithm yokucindezela kanye nekhodi ithuthukiswe kangakanani, inethiwekhi iseyisici esinqumayo esinikela kakhulu ekubambezelekeni. Izakhiwo kufanele zibe nendlela yokumatanisa iseva eseduze nomsebenzisi ukuze kuncishiswe isikhathi sokuya nokubuya (RTT). Isakhiwo kufanele sibe nomxhumanisi ongu-1 namaseva amaningana okusakaza asatshalaliswa emhlabeni wonke: i-US West, i-US East, i-Europe, i-Singapore, i-China. Wonke amaseva okusakaza-bukhoma kufanele ahlukaniswe ngokuphelele. Isistimu ingalungisa ukusatshalaliswa kwayo lapho iseva ijoyina noma ishiya inethiwekhi. Ngakho, ngethrafikhi enkulu, ukwengeza amaseva engeziwe kuvumela ukukala okuvundlile.4. Ukuhambisana kwesiphequluli
Imidlalo yamafu ihamba phambili uma idinga okungenani kubasebenzisi. Lokhu kusho ukuthi kungenzeka ukusebenza kusiphequluli. Iziphequluli zisiza ukwenza ukuzizwisa amageyimu kube ntofontofo ngangokunokwenzeka kubasebenzisi, zibasindise ekufakeni isofthiwe nehadiwe. Iziphequluli ziphinde zisize ekuhlinzekeni ukusebenza kwenkundla ehlukene phakathi kwezinguqulo zeselula nezedeskithophu. Ngenhlanhla, i-WebRTC isekelwa kahle kuzo zonke iziphequluli ezahlukahlukene.5. Ukuhlukaniswa okucacile kwesixhumi esibonakalayo segeyimu nesevisi
Ngibuka isevisi yemidlalo yamafu njengenkundla. Wonke umuntu kufanele akwazi ukuxhuma noma yini endaweni yesikhulumi. Manje sengididiyeleLibRetro ngensizakalo yokudlala yamafu ngoba i-LibRetro inikeza isikhombimsebenzisi esihle sokulingisa imidlalo ye-retro efana ne-SNES, i-GBA, i-PS.6. Amagumbi abadlali abaningi, ukudlala kwesixuku kanye nokuxhumanisa kwangaphandle (isixhumanisi esijulile) nomdlalo
I-CloudRetro isekela imidlalo eminingi emisha efana ne-CrowdPlay ne-Online MultiPlayer yemidlalo ye-retro. Uma abasebenzisi abambalwa bevula isixhumanisi esijulile esifanayo kumakhompuyutha ahlukene, bazobona igeyimu efanayo isebenza futhi bazokwazi nokuyijoyina.Ngaphezu kwalokho, izifunda zegeyimu zigcinwa kusitoreji samafu. Lokhu kuvumela abasebenzisi ukuthi baqhubeke nokudlala noma kunini kunoma iyiphi enye idivayisi.
7. Ukukala okuvundlile
Njenganoma iyiphi i-SAAS namuhla, imidlalo yamafu kufanele yakhelwe ukuthi ikhule ivundlile. Idizayini yesisebenzi somxhumanisi ikuvumela ukuthi ungeze abasebenzi abaningi ukuze unikeze ithrafikhi eyengeziwe.8. Akukho ukuxhumana nefu elilodwa
Ingqalasizinda ye-CloudRetro isingathwe kubahlinzeki befu abahlukene (i-Digital Ocean, i-Alibaba, umhlinzeki wangokwezifiso) wezifunda ezahlukene. Ngivumela ukusebenza esitsheni se-Docker engqalasizinda futhi ngilungise izilungiselelo zenethiwekhi ngisebenzisa iskripthi se-bash ukuze ngigweme ukukhiyelwa kumhlinzeki wefu oyedwa. Ngokuhlanganisa lokhu ne-NAT Traversal ku-WebRTC, singaba nekhono lokusebenzisa i-CloudRetro kunoma iyiphi iplathifomu yamafu ngisho nakumishini yanoma yimuphi umsebenzisi.Umklamo wezakhiwo
Isisebenzi: (noma iseva yokusakaza eshiwo ngenhla) iphindaphinda imidlalo, isebenzisa ipayipi lombhalo wekhodi, futhi isakaza imidiya ebethelwe kubasebenzisi. Izimo zabasebenzi zisatshalaliswa emhlabeni wonke, futhi isisebenzi ngasinye singakwazi ukusingatha izikhathi zabasebenzisi abaningi ngesikhathi esisodwa.
Umxhumanisi: unesibopho sokumatanisa umsebenzisi omusha nesisebenzi esifaneleka kakhulu sokusakaza-bukhoma. Umxhumanisi usebenzisana nabasebenzi ngeWebSocket.
Isitoreji sesimo segeyimu: isitoreji esikude sazo zonke izifunda zegeyimu. Lesi sitoreji sihlinzeka ngemisebenzi ebalulekile njengokulondoloza/ukulayisha okukude.
Izakhiwo ezisezingeni eliphezulu ze-CloudRetroIsikripthi Sangokwezifiso
Lapho umsebenzisi omusha evula i-CloudRetro ezinyathelweni 1 no-2 eziboniswe esithombeni esingezansi, umxhumanisi kanye nohlu lwezisebenzi ezitholakalayo kucelwa ekhasini lokuqala. Ngemva kwalokhu, esinyathelweni sesi-3 iklayenti libala ukubambezeleka kwawo wonke amakhandidethi lisebenzisa isicelo se-HTTP ping. Lolu hlu lokubambezeleka lube selubuyiselwa kumxhumanisi ukuze akwazi ukunquma isisebenzi esifaneleka kakhulu esizosebenzela umsebenzisi. Isinyathelo sesi-4 ngezansi sidala igeyimu. Uxhumano lokusakaza-bukhoma lwe-WebRTC luyasungulwa phakathi komsebenzisi nomsebenzi owabelwe.
Iskripthi somsebenzisi ngemva kokuthola ukufinyelelaYini engaphakathi kwesisebenzi
Amapayipi wegeyimu nokusakaza agcinwa ngaphakathi kwesisebenzi eyedwa futhi ashintshisana ngolwazi lapho ngesixhumi esibonakalayo. Okwamanje, lokhu kuxhumana kwenziwa ngokudlulisela idatha ngenkumbulo nge
Iziteshi ze-Golang ngenqubo efanayo. Umgomo olandelayo ukuhlukaniswa, i.e. ukwethulwa okuzimele komdlalo kwenye inqubo.
Ukusebenzisana kwezingxenye zabasebenziIzingxenye eziyinhloko:
- I-WebRTC: ingxenye yeklayenti eyamukela okokufaka komsebenzisi kanye nokukhipha imidiya ebhalwe ngekhodi evela kuseva.
- Isilingisi segeyimu: ingxenye yomdlalo. Ngenxa yelabhulali ye-Libretro, isistimu iyakwazi ukuqhuba igeyimu ngaphakathi kwenqubo efanayo futhi ibambe imidiya yangaphakathi nokusakaza okokufaka.
- Ozimele abangaphakathi kwegeyimu bayathathwa baphinde bathunyelwe kusifaki khodi.
- Isithombe/Isifaki khodi somsindo: ipayipi lombhalo wekhodi elithatha amafreyimu emidiya, liwabhale ngekhodi ngemuva, futhi likhiphe izithombe/umsindo obhalwe ngekhodi.
Ukuqaliswa
I-CloudRetro incike ku-WebRTC njengobuchwepheshe bayo bomgogodla, ngakho-ke ngaphambi kokungena emininingwaneni yokuqaliswa kwe-Golang, nginqume ukukhuluma ngeWebRTC ngokwayo. Lobu ubuchwepheshe obumangalisayo obungisize kakhulu ekuzuzeni ukubambezeleka kwesekhondi elincane lokusakaza idatha.
I-WebRTC
I-WebRTC yakhelwe ukuhlinzeka ngoxhumano lwekhwalithi ephezulu kontanga kuzinhlelo zokusebenza zeselula neziphequluli zisebenzisa ama-API alula.
Ukuhamba kwe-NAT
I-WebRTC yaziwa ngokusebenza kwayo kwe-NAT Traversal. I-WebRTC yakhelwe ukuxhumana kontanga kuya kontanga. Umgomo wayo ukuthola umzila oqondile ofaneleka kakhulu, ugwema amasango e-NAT nezicishamlilo zokuxhumana kontanga ngenqubo ebizwa ngokuthi.
ICE . Njengengxenye yale nqubo, ama-WebRTC API athola ikheli lakho le-IP lomphakathi kusetshenziswa amaseva e-STUN futhi alithumele kuseva edluliselwe (VULA ) lapho uxhumano oluqondile lungakwazi ukusungulwa.Nokho, i-CloudRetro ayisebenzisi ngokugcwele lesi sici. Ukuxhumana kwayo kontanga kuya kontanga akukho phakathi kwabasebenzisi, kodwa phakathi kwabasebenzisi namaseva wamafu. Uhlangothi lweseva lwemodeli lunemikhawulo embalwa yokuxhumana eqondile kunedivayisi yomsebenzisi evamile. Lokhu kukuvumela ukuthi uvule kusengaphambili izimbobo ezingenayo noma usebenzise amakheli e-IP omphakathi ngokuqondile, njengoba iseva ingekho ngemuva kwe-NAT.
Ngaphambilini, bengifuna ukushintsha iphrojekthi ibe inkundla yokusabalalisa igeyimu ye-Cloud Gaming. Umqondo bekuwukuvumela abadali begeyimu ukuthi banikeze imidlalo nezinsiza zokusakaza. Futhi abasebenzisi bazoxhumana nabahlinzeki ngokuqondile. Ngale ndlela yokwehlukaniswa, i-CloudRetro iwuhlaka nje lokuxhumanisa izinsiza zokusakaza zezinkampani zangaphandle kubasebenzisi, ikwenze kube nzima kakhulu uma ingasaphathwa. Indima ye-WebRTC NAT Traversal lapha ibaluleke kakhulu ukuze kube lula ukuqaliswa kokuxhumana kontanga kuzinsiza zokusakaza zezinkampani zangaphandle, okwenza kube lula ngomdali ukuthi axhume kunethiwekhi.
Ukucindezelwa kwevidiyo
Ukucindezelwa kwevidiyo kuyingxenye ebalulekile yepayipi futhi kunomthelela omkhulu ekugelezeni okushelelayo. Nakuba kungenasidingo ukwazi yonke imininingwane yombhalo wekhodi wevidiyo we-VP8/H264, ukuqonda imiqondo kungakusiza uqonde izinketho zesivinini sevidiyo yokusakaza-bukhoma, ulungise iphutha lokuziphatha okungalindelekile, futhi ulungise ukubambezeleka.
Ukucindezela ividiyo yesevisi yokusakaza kuyinselele ngoba i-algorithm kufanele iqinisekise ukuthi isikhathi esiphelele sombhalo wekhodi + isikhathi sokudlulisa inethiwekhi + nesikhathi sokukhipha amakhodi siphansi ngangokunokwenzeka. Ngaphezu kwalokho, inqubo yokufaka amakhodi kufanele ihambisane futhi iqhubeke. Okunye ukuhwebelana kombhalo wekhodi akusebenzi—ngokwesibonelo, asikwazi ukuvumela izikhathi ezinde zombhalo wekhodi kunosayizi bamafayela amancane nezikhathi zokukhipha amakhodi, noma sisebenzise ukucindezela okungahambisani.
Umqondo wokucindezelwa kwevidiyo uwukuqeda izingcezu zolwazi ezingadingekile kuyilapho kugcinwa izinga elamukelekayo lokunemba kubasebenzisi. Ngokungeziwe ekubhaleni amafreyimu ezithombe ezimile ezingazodwana, i-algorithm ingena kuhlaka lwamanje olusuka kowangaphambilini nabalandelayo, ngakho kuthunyelwa umehluko wabo kuphela. Njengoba kungabonwa esibonelweni ngePacman, kudluliswa amaphuzu ahlukene kuphela.
Ukuqhathaniswa kwamafreyimu wevidiyo kusetshenziswa i-Pacman njengesiboneloUkucindezelwa komsindo
Ngokufanayo, i-algorithm yokucindezela umsindo ishiya idatha engakwazi ukubonwa abantu. I-Opus okwamanje iyikhodekhi yomsindo esebenza kahle kakhulu. Iklanyelwe ukudlulisa igagasi lomsindo ngephrothokholi yedathagram e-odiwe njenge-RTP (I-Real Time Transport Protocol). Ukubambezeleka kwayo kuphansi kune-mp3 ne-aac, futhi ikhwalithi iphakeme. Ukubambezeleka kuvame ukuba ngu-5 ~ 66,5ms.
I-Pion, i-WebRTC e-Golang
I-Pawn iphrojekthi yomthombo ovulekile eletha i-WebRTC e-Golang. Esikhundleni sokugoqwa okuvamile kwemitapo yolwazi ye-C++ WebRTC, i-Pion iwukusebenzisa i-Golang yomdabu ye-WebRTC ngokusebenza okungcono, ukuhlanganiswa kwe-Go, nokulawula inguqulo kumaphrothokholi e-WebRTC.Umtapo wolwazi uphinde unike amandla ukusakaza ngokuningi okuhle okwakhelwe ngaphakathi nge-latency yesekhondi elincane. Inokuqaliswa kwayo kwe-STUN, DTLS, SCTP, njll. kanye nokuhlolwa okuthile nge-QUIC ne-WebAssembly. Le labhulali yomthombo ovulekile ngokwayo iyisisetshenziswa sokufunda esihle ngempela esinemibhalo emihle kakhulu, ukusetshenziswa kwephrothokholi yenethiwekhi, nezibonelo ezinhle.
Umphakathi wakwaPion, oholwa ngumdali onentshiseko enkulu, uyaphila, unezingxoxo eziningi ezisezingeni eliphezulu eziqhubekayo mayelana ne-WebRTC. Uma unentshisekelo kulobu buchwepheshe, joyina
http://pion.ly/slack - uzofunda izinto eziningi ezintsha.Ukubhala i-CloudRetro ngesi-Golang
Ukwenziwa komsebenzi ku-GoHamba eziteshini esenzweni
Ngenxa yesakhiwo esihle sesiteshi se-Go, izinkinga zokusakazwa komcimbi nokuhambisana kwemali zenziwe zaba lula kakhulu. Njengakumdwebo, ama-GoRoutines ahlukene anezingxenye eziningi ezisebenza ngokufana. Ingxenye ngayinye ilawula isimo sayo futhi ixhumana ngamashaneli. Ukugomela okukhethiwe kuka-Golang kuphoqa umcimbi owodwa we-athomu ukuthi ucutshungulwe njalo kugeyimu (uphawu lwegeyimu). Lokhu kusho ukuthi akukho ukukhiya okudingekayo kulo mklamo. Isibonelo, uma umsebenzisi elondoloza, isifinyezo esigcwele sesimo segeyimu siyadingeka. Lesi simo kufanele sihlale siqhubekayo, singena kuze kuqedwe ukulondoloza. Phakathi nokumaka kwegeyimu ngayinye, i-backend ingaphatha kuphela ukusebenza kokulondoloza noma okokufaka, okwenza uchungechunge lwenqubo luphephe.
func (e *gameEmulator) gameUpdate() { for { select { case <-e.saveOperation: e.saveGameState() case key := <-e.input: e.updateGameState(key) case <-e.done: e.close() return } } }
I-Fan-in/Fan-out
Lesi sifanekiso se-Golang silingana nekesi lami lokusebenzisa i-CrowdPlay kanye ne-Multiple Player. Ngokulandela le phethini, konke okokufaka komsebenzisi ekamelweni elilodwa kwakhelwa kumzila omaphakathi wokungena. Imidiya yegeyimu ibe isisetshenziswa kubo bonke abasebenzisi abasegunjini elilodwa. Ngale ndlela, sifinyelela ukuhlukaniswa kwesimo segeyimu phakathi kwamaseshini egeyimu ambalwa wabasebenzisi abahlukene.
Ukuvumelanisa phakathi kwamaseshini ahlukeneUkungalungi kwe-Golang
I-Golang ayiphelele. Isiteshi siyanensa. Uma kuqhathaniswa nokuvimbela, i-Go channel imane nje iyindlela elula yokusingatha imicimbi eyenzeka ngesikhathi esisodwa newuchungechunge, kodwa isiteshi asihlinzeki ngokusebenza okungcono kakhulu. Kunengqondo yokuvimba eyinkimbinkimbi ngaphansi kwesiteshi. Ngakho-ke ngenze izinguquko ezithile ekusebenziseni, ngifaka kabusha izingidi namanani e-athomu lapho ngishintsha iziteshi ukuze ngithuthukise ukusebenza.
Ngaphezu kwalokho, inqola kadoti e-Golang ayilawuleki, ngezinye izikhathi okubangela ukuthi kube nokuma okude ngokusolisayo. Lokhu kuphazamisa kakhulu uhlelo lokusebenza lokusakaza ngesikhathi sangempela.
I-CGO
Iphrojekthi isebenzisa umthombo ovulekile okhona we-Golang VP8/H264 umtapo wokucindezela imidiya kanye ne-Libretro yama-emulators egeyimu. Yonke le mitapo yolwazi imane iwukugoqa komtapo C ku-Go usebenzisa
I-CGO . Okunye okungalungile kubalwe kulokhu okuthunyelwe nguDave Cheney . Izinkinga engihlangabezane nazo:- ukungakwazi ukubamba ukuphahlazeka ku-CGO, ngisho ne-Golang RecoveryCrash;
- ukwehluleka ukukhomba izingqinamba zokusebenza lapho singakwazi ukuthola izinkinga ezinemininingwane ku-CGO.
isiphetho
Ngifinyelele umgomo wami wokuqonda izinsiza zemidlalo yamafu nokudala inkundla engisiza ukuthi ngidlale imidlalo ye-nostalgic retro nabangani bami ku-inthanethi. Le phrojekthi ibingeke yenzeke ngaphandle komtapo wolwazi wePion kanye nokusekelwa komphakathi wakwaPion. Ngibonga kakhulu ngokuthuthuka kwayo okujulile. Ama-API alula anikezwe i-WebRTC kanye ne-Pion aqinisekise ukuhlanganiswa okungenamthungo. Ubufakazi bami bokuqala bomqondo bakhululwa ngalo lelo sonto, nakuba ngangingenalo ulwazi lwangaphambili lokuxhumana kontanga (P2P).
Naphezu kokulula kokuhlanganiswa, ukusakazwa kwe-P2P kuyindawo eyinkimbinkimbi kakhulu kwisayensi yekhompyutha. Kufanele abhekane nenkimbinkimbi yezakhiwo zenethiwekhi zesikhathi eside ezifana ne-IP ne-NAT ukuze akhe iseshini yontanga. Ngenkathi ngisebenza kule phrojekthi, ngithole ulwazi oluningi olubalulekile mayelana namanethiwekhi nokusebenza kahle, ngakho ngikhuthaza wonke umuntu ukuthi azame ukwakha imikhiqizo ye-P2P esebenzisa i-WebRTC.
I-CloudRetro ibhekelela zonke izimo zokusetshenziswa ebengizilindele ngokombono wami njengomdlali we-retro. Nokho, ngicabanga ukuthi kunezindawo eziningi kuphrojekthi engingazithuthukisa, njengokwenza inethiwekhi ithembeke futhi isebenze kahle, ukuhlinzeka ngemifanekiso yegeyimu yekhwalithi ephezulu, noma ikhono lokwabelana ngamageyimu phakathi kwabasebenzisi. Ngisebenza kanzima kulokhu. Sicela ulandele
iphrojekthi futhi usekele uma uthanda.
Source: www.habr.com