Buɗe wasan girgije mai tushe akan WebRTC: p2p, mai kunnawa da yawa, latency sifili

Buɗe wasan girgije mai tushe akan WebRTC: p2p, mai kunnawa da yawa, latency sifili
Software azaman sabis, abubuwan more rayuwa azaman sabis, dandamali azaman sabis, dandamali azaman sabis, taron bidiyo azaman sabis, menene game da wasan caca azaman sabis? An riga an yi ƙoƙari da yawa don ƙirƙirar wasan gajimare (Cloud Gaming), kamar Stadia, wanda Google ya ƙaddamar kwanan nan. Stadia ba sabon zuwa WebRTC ba, amma wasu za su iya amfani da WebRTC ta hanya ɗaya?

Thanh Nguyen ya yanke shawarar gwada wannan damar akan aikin buɗaɗɗen tushen sa na CloudRetro. CloudRetro ya dogara ne akan Pion, mashahuri Laburaren WebRTC bisa Go (na gode An nuna daga ƙungiyar ci gaban Pion don taimakonsu wajen shirya wannan labarin). A cikin wannan labarin, Thanh ya ba da bayyani game da gine-ginen aikin nasa, ya kuma yi magana game da abubuwan da ya koya masu amfani da kuma irin ƙalubalen da ya fuskanta a lokacin aikinsa.

Gabatarwa

A shekarar da ta gabata, lokacin da Google ya sanar da Stadia, ya buge zuciyata. Tunanin yana da ban mamaki kuma mai ban sha'awa wanda koyaushe ina mamakin yadda hakan ya yiwu tare da fasahar data kasance. Sha'awar fahimtar wannan batu sosai ya sa na ƙirƙiri sigar kaina na wasan gajimare mai buɗe ido. Sakamakon ya kasance mai ban mamaki kawai. A ƙasa Ina so in raba tsarin aiki akan shekara ta aikin.

TLDR: gajeriyar sigar zane tare da karin bayanai

Me yasa wasan caca shine gaba

Na yi imani cewa Cloud Gaming zai zama ƙarni na gaba na ba kawai wasan kwaikwayo ba, har ma da sauran fannonin kimiyyar kwamfuta. Wasan Cloud shine kololuwar ƙirar abokin ciniki/uwar garken. Wannan ƙirar tana haɓaka gudanarwar baya kuma yana rage girman aikin gaba ta hanyar ɗaukar dabaru na wasan akan sabar mai nisa da yawo hotuna/audio ga abokin ciniki. Sabar tana yin aiki mai nauyi don haka abokin ciniki baya cikin jinƙan gazawar hardware.

Google Stadia da gaske yana ba ku damar yin wasa Wasannin AAA (watau manyan wasannin blockbuster) akan hanyar sadarwa kamar YouTube. Ana iya amfani da wannan hanyar zuwa wasu aikace-aikacen layi masu nauyi kamar tsarin aiki ko ƙirar hoto na 2D/3D, da sauransu. ta yadda za mu iya tafiyar da su akai-akai akan ƙananan na'urori masu ƙayyadaddun bayanai a kan dandamali da yawa.

Buɗe wasan girgije mai tushe akan WebRTC: p2p, mai kunnawa da yawa, latency sifili
Makomar wannan fasaha: Ka yi tunanin idan Microsoft Windows 10 ya gudana akan mashigin Chrome?

Wasan Cloud yana da ƙalubale a fasaha

Wasan wasa yana ɗaya daga cikin waɗancan wuraren da ba kasafai ake buƙatar amsawar mai amfani akai-akai ba. Idan lokaci-lokaci muna fuskantar jinkiri na daƙiƙa 2 lokacin danna kan shafi, wannan abin karɓa ne. Rayayyun rafukan bidiyo suna yin jinkiri na ƴan daƙiƙa, amma har yanzu suna ba da ingantaccen amfani. Koyaya, idan wasan akai-akai ya ninka da 500ms, ba za a iya yin wasa ba. Manufarmu ita ce cimma matsananciyar jinkiri ta yadda tazara tsakanin shigarwa da kafofin watsa labarai ta yi kankanta sosai. Saboda haka, tsarin al'ada na yada bidiyo ba ya aiki a nan.

Buɗe wasan girgije mai tushe akan WebRTC: p2p, mai kunnawa da yawa, latency sifili
Samfurin Wasan Gaba ɗaya

Buɗe tushen aikin CloudRetro

Na yanke shawarar ƙirƙirar samfurin gwajin wasan gajimare don ganin ko duk wannan zai yiwu tare da irin wannan ƙuntatawa na cibiyar sadarwa. Na zabi Golang ne don hujjar ra'ayi saboda yaren da na fi sani da shi kuma ya dace da wannan aiwatarwa saboda wasu dalilai masu yawa, kamar yadda na gano daga baya. Go yana da sauƙi kuma yana haɓaka da sauri; Tashoshi a cikin Go suna da kyau don sarrafa multithreading.

Wannan aikin CloudRetro.io sabis ne na buɗaɗɗen tushen girgije don wasan caca na baya. Manufar aikin shine a kawo mafi kyawun ƙwarewar wasan kwaikwayo zuwa wasanni na retro na gargajiya da kuma ƙara masu yawa.
Kuna iya ƙarin koyo game da aikin anan: https://github.com/giongto35/cloud-game.

Ayyukan CloudRetro

CloudRetro yana amfani da wasanni na baya don nuna ikon wasan girgije. Wanne yana ba ku damar samun ƙwarewar wasan kwaikwayo da yawa.

  • Abun iya ɗaukar wasan
    • sake kunnawa nan take lokacin buɗe shafi; babu saukewa ko shigarwa da ake bukata
    • Yana aiki a cikin masarrafar wayar hannu, don haka ba a buƙatar software don gudanar da shi

  • Za a iya raba zaman wasan a cikin na'urori da yawa kuma a adana su a cikin gajimare don lokaci na gaba da ka shiga
  • Ana iya watsa wasan, ko kuma masu amfani da yawa za su iya buga shi a lokaci ɗaya:
    • Crowdplay kamar TwitchPlayPokemon, kawai ƙarin giciye-dandamali da ƙarin ainihin lokaci
    • Wasan kan layi. Masu amfani da yawa suna iya yin wasa ba tare da kafa hanyar sadarwa ba. Samurai Shodown yanzu 'yan wasa 2 za su iya buga su akan hanyar sadarwar CloudRetro

    Buɗe wasan girgije mai tushe akan WebRTC: p2p, mai kunnawa da yawa, latency sifili
    Demo version of online multiplayer game a kan daban-daban na'urori

    Hanyoyi

    Abubuwan buƙatu da tarin fasaha

    A ƙasa akwai jerin buƙatun da na saita kafin fara aikin.

    1. Dan wasa daya
    Wannan buƙatun bazai yi kama da mahimmanci ko bayyananne a nan ba, amma yana ɗaya daga cikin mahimman hanyoyin da nake ɗauka, yana ba da damar yin wasan gajimare don nisa daga ayyukan yawo na gargajiya gwargwadon yiwuwa. Idan muka mai da hankali kan wasan mai kunnawa guda ɗaya, za mu iya kawar da uwar garken tsakiya ko CDN saboda ba sai mun jera zuwa ga talakawa ba. Maimakon loda rafuka zuwa uwar garken nutse ko wuce fakiti zuwa uwar garken WebSocket, ana isar da rafukan sabis kai tsaye ga mai amfani ta hanyar haɗin yanar gizo-da-tsara na WebRTC.

    2. Rawan watsa labarai mara jinkiri
    Karatu game da Stadia, sau da yawa ina ganin WebRTC da aka ambata a wasu labaran. Na gane cewa WebRTC fasaha ce ta ƙware kuma cikakke ce don amfani a cikin wasan girgije. WebRTC wani aiki ne wanda ke ba da masu binciken gidan yanar gizo da aikace-aikacen wayar hannu tare da sadarwa ta ainihi ta hanyar API mai sauƙi. Yana ba da haɗin kai-da-tsara, an inganta shi don kafofin watsa labaru, kuma yana da daidaitattun codecs da aka gina a ciki kamar VP8 da H264.

    Na ba da fifiko don tabbatar da mafi kyawun yuwuwar ƙwarewar mai amfani akan kiyaye hotuna masu inganci. Wasu asara ana karɓa a cikin algorithm. Google Stadia yana da ƙarin mataki na rage girman hoto akan uwar garken, kuma ana haɓaka firam ɗin zuwa mafi girma kafin a watsa shi ga takwarorinsu.

    3. Rarraba ababen more rayuwa tare da jigilar ƙasa
    Ko ta yaya aka inganta matsi algorithm da lambar, hanyar sadarwar ita ce matakin yanke hukunci wanda ke ba da gudummawa mafi girma ga latency. Dole ne tsarin gine-gine ya sami hanyar haɗa uwar garken mafi kusa da mai amfani don rage lokacin tafiya (RTT). Dole ne tsarin gine-gine ya kasance yana da mai gudanarwa 1 da sabar sabar yawo da yawa da aka rarraba a ko'ina cikin duniya: US West, US East, Europe, Singapore, China. Duk sabar da ke gudana dole ne a ware gaba ɗaya. Tsarin zai iya daidaita rarraba lokacin da uwar garken ya shiga ko barin cibiyar sadarwa. Don haka, tare da manyan zirga-zirgar ababen hawa, ƙara ƙarin sabobin yana ba da damar ƙima a kwance.

    4. Daidaituwar Browser
    Wasan Cloud yana kan mafi kyawun sa lokacin da yake buƙatar ƙarami daga masu amfani. Wannan yana nufin cewa yana yiwuwa a yi aiki a browser. Masu bincike suna taimakawa wajen sanya kwarewar wasan cikin kwanciyar hankali kamar yadda zai yiwu ga masu amfani, suna ceton su daga shigar da software da hardware. Masu bincike kuma suna taimakawa samar da ayyukan giciye tsakanin nau'ikan wayar hannu da tebur. Sa'ar al'amarin shine, WebRTC yana da goyon baya sosai a cikin nau'ikan bincike daban-daban.

    5. Share rabuwa na wasan dubawa da sabis
    Ina kallon sabis ɗin wasan caca a matsayin dandamali. Ya kamata kowa ya iya haɗa wani abu zuwa dandalin. Yanzu na haɗa Larshi tare da sabis na wasan caca na girgije saboda LibRetro yana ba da kyakkyawar ƙirar ƙirar wasan kwaikwayo don wasanni na baya kamar SNES, GBA, PS.

    6. Dakuna don multiplayer, taron jama'a da haɗin kai na waje (zurfin haɗin gwiwa) tare da wasan
    CloudRetro yana goyan bayan sabbin wasanni da yawa kamar CrowdPlay da MultiPlayer na kan layi don wasannin retro. Idan masu amfani da yawa sun buɗe hanyar haɗin kai iri ɗaya akan kwamfutoci daban-daban, za su ga wasan guda ɗaya mai gudana kuma har ma za su iya shiga cikinsa.

    Bugu da ƙari, ana adana jihohin wasan a cikin ajiyar girgije. Wannan yana bawa masu amfani damar ci gaba da wasa a kowane lokaci akan kowace na'ura.

    7. Adaidaita sahu
    Kamar kowane SAAS a zamanin yau, wasan gajimare dole ne a tsara shi don daidaitawa a kwance. Ƙirar mai gudanarwa-ma'aikaci yana ba ku damar ƙara ƙarin ma'aikata don yin ƙarin zirga-zirga.

    8. Babu haɗi zuwa gajimare ɗaya
    Ana gudanar da abubuwan more rayuwa na CloudRetro akan masu samar da girgije daban-daban (Digital Ocean, Alibaba, mai ba da al'ada) don yankuna daban-daban. Ina ba da damar yin aiki a cikin akwati Docker don abubuwan more rayuwa da kuma saita saitunan cibiyar sadarwa ta amfani da rubutun bash don guje wa kullewa cikin mai ba da girgije guda ɗaya. Ta hanyar haɗa wannan tare da NAT Traversal a cikin WebRTC, za mu iya samun sassauci don tura CloudRetro akan kowane dandamali na girgije har ma akan kowane injin mai amfani.

    Tsarin gine-gine

    Ma'aikaci: (ko uwar garken yawo da aka ambata a sama) yana ninka wasanni, yana gudanar da bututun ɓoyewa, kuma yana watsa kafofin watsa labarai masu rufaffiyar ga masu amfani. Ana rarraba misalin ma'aikata a ko'ina cikin duniya, kuma kowane ma'aikaci zai iya gudanar da zaman masu amfani da yawa a lokaci guda.

    Mai gudanarwa: ke da alhakin haɗa sabon mai amfani tare da ma'aikaci mafi dacewa don yawo. Mai gudanarwa yana hulɗa da ma'aikata ta hanyar WebSocket.

    Adana yanayin wasan: Ma'ajiyar nesa ta tsakiya don duk jihohin wasan. Wannan ma'ajiyar tana ba da ayyuka masu mahimmanci kamar ajiyewa / kaya mai nisa.

    Buɗe wasan girgije mai tushe akan WebRTC: p2p, mai kunnawa da yawa, latency sifili
    Babban matakin gine-gine na CloudRetro

    Rubutun al'ada

    Lokacin da sabon mai amfani ya buɗe CloudRetro a cikin matakai na 1 da 2 da aka nuna a cikin adadi na ƙasa, ana buƙatar mai gudanarwa tare da jerin sunayen ma'aikata zuwa shafi na farko. Bayan wannan, a mataki na 3 abokin ciniki yana ƙididdige jinkiri ga duk 'yan takara ta amfani da buƙatun ping na HTTP. Ana aika wannan jerin jinkirin zuwa ga mai gudanarwa domin ya iya tantance ma'aikaci mafi dacewa don yiwa mai amfani hidima. Mataki na 4 da ke ƙasa yana haifar da wasan. An kafa hanyar haɗin yanar gizo ta WebRTC tsakanin mai amfani da ma'aikacin da aka sanya.
    Buɗe wasan girgije mai tushe akan WebRTC: p2p, mai kunnawa da yawa, latency sifili
    Rubutun mai amfani bayan samun dama

    Abin da ke cikin ma'aikaci

    Ana adana bututun wasanni da masu gudana a cikin ma'aikaci a keɓe kuma suna musayar bayanai a wurin ta hanyar sadarwa. A halin yanzu, ana aiwatar da wannan sadarwa ta hanyar canja wurin bayanai a cikin ƙwaƙwalwar ajiya ta Tashar Golang a cikin tsari guda. Manufar gaba ita ce wariya, watau. ƙaddamar da wasan mai zaman kanta a cikin wani tsari.

    Buɗe wasan girgije mai tushe akan WebRTC: p2p, mai kunnawa da yawa, latency sifili
    Ma'amalar sassan ma'aikata

    Manyan abubuwa:

    • WebRTC: bangaren abokin ciniki wanda ke karɓar shigarwar mai amfani da fitar da rufaffiyar kafofin watsa labarai daga uwar garken.
    • Mai koyi game: bangaren wasan. Godiya ga ɗakin karatu na Libretro, tsarin yana iya gudanar da wasan a cikin tsari iri ɗaya kuma yana sadar da kafofin watsa labarai na ciki da rafi na shigarwa.
    • Ana ɗaukar firam ɗin cikin-wasan kuma a aika zuwa mai rikodin.
    • Mai rikodin hoto/Audio: bututu mai ɓoyewa wanda ke ɗaukar firam ɗin kafofin watsa labarai, sanya su a bango, da fitar da hotuna/audiyo masu rufaffiyar.

    Aiwatarwa

    CloudRetro ya dogara da WebRTC a matsayin fasahar kashin baya, don haka kafin nutsewa cikin cikakkun bayanai game da aiwatar da Golang, na yanke shawarar yin magana game da WebRTC kanta. Wannan fasaha ce mai ban mamaki wacce ta taimaka mini sosai wajen samun jinkiri na ƙasa da biyu don yawo bayanai.

    WebRTC

    An ƙera WebRTC don samar da haɗin kai-da-tsara masu inganci akan ƙa'idodin wayar hannu na asali da masu bincike ta amfani da APIs masu sauƙi.

    Hanyoyin ciniki na NAT

    An san WebRTC don ayyukan NAT Traversal. An ƙera WebRTC don sadarwar ɗan-ɗan-tsara. Manufarta ita ce ta nemo hanyar da ta fi dacewa ta kai tsaye, da guje wa ƙofofin NAT da ƙofofin wuta don sadarwar abokan gaba ta hanyar da ake kira. ICE. A matsayin wani ɓangare na wannan tsari, WebRTC APIs nemo adireshin IP na jama'a ta amfani da sabobin STUN kuma a tura shi zuwa uwar garken relay (Juya) lokacin da ba za a iya kafa haɗin kai tsaye ba.

    Koyaya, CloudRetro bai cika amfani da wannan fasalin ba. Hanyoyin haɗin kai-da-tsara ba su wanzu tsakanin masu amfani, amma tsakanin masu amfani da sabar gajimare. Bangaren uwar garken samfurin yana da ƙarancin ƙuntatawa na sadarwa kai tsaye fiye da na'urar mai amfani da aka saba. Wannan yana ba ku damar buɗe tashoshin jiragen ruwa masu shigowa ko amfani da adiresoshin IP na jama'a kai tsaye, tunda uwar garken baya bayan NAT.

    A baya can, Ina so in juya aikin zuwa dandalin rarraba wasan don Cloud Gaming. Manufar ita ce a ƙyale masu ƙirƙira wasan su samar da wasanni da albarkatu masu yawo. Kuma masu amfani za su yi hulɗa tare da masu samarwa kai tsaye. A cikin wannan hanyar da aka raba, CloudRetro tsari ne kawai don haɗa albarkatu masu gudana na ɓangare na uku ga masu amfani, yana mai da shi mafi girma lokacin da ba a karɓar bakuncin shi ba. Matsayin WebRTC NAT Traversal a nan yana da matukar mahimmanci don sauƙaƙe ƙaddamarwar haɗin kai-da-tsara a kan albarkatu masu gudana na ɓangare na uku, yana sauƙaƙa wa mahalicci don haɗawa da hanyar sadarwa.

    Matsi na bidiyo

    Matsawar bidiyo wani yanki ne da ba makawa a cikin bututun bututun kuma yana ba da gudummawa sosai ga kwararar ruwa. Duk da yake ba lallai ba ne a san kowane dalla-dalla na rikodin bidiyo na VP8/H264, fahimtar ra'ayoyin na iya taimaka muku fahimtar zaɓuɓɓukan saurin bidiyo mai yawo, gyara halayen da ba zato ba, da daidaita latency.

    Matsa bidiyo don sabis na yawo yana da ƙalubale saboda dole ne algorithm ya tabbatar da cewa jimlar lokacin ɓoyewa + lokacin watsa cibiyar sadarwa + lokacin yanke hukunci ya yi ƙasa sosai kamar yadda zai yiwu. Bugu da kari, dole ne tsarin coding ya kasance daidai da ci gaba. Wasu ɓangarorin ɓoyayyen ɓoyayyen ba sa aiki-misali, ba za mu iya ba da fifiko ga dogon lokacin ɓoyewa akan ƙaramin girman fayil da lokutan yankewa, ko amfani da matsawa mara daidaituwa.

    Manufar da ke bayan damfara bidiyo ita ce kawar da bayanan da ba dole ba yayin da suke riƙe ingantaccen matakin daidaito ga masu amfani. Bugu da ƙari ga ɓoye madaidaicin firam ɗin hoto, algorithm ɗin yana ƙaddamar da firam ɗin yanzu daga na baya da na gaba, don haka kawai ana aika bambancin su. Kamar yadda za a iya gani daga misali tare da Pacman, kawai bambance-bambancen maki ana watsa.

    Buɗe wasan girgije mai tushe akan WebRTC: p2p, mai kunnawa da yawa, latency sifili
    Kwatanta firam ɗin bidiyo ta amfani da Pacman azaman misali

    Matsa sauti

    Hakazalika, algorithm na matsa sauti yana barin bayanan da mutane ba za su iya gane su ba. Opus a halin yanzu shine mafi kyawun codec mai jiwuwa. An ƙera shi don watsa igiyar sauti akan ƙa'idar datagram da aka ba da oda kamar RTP (Ka'idar Sufuri ta Gaskiya). Latency ɗinsa yana ƙasa da mp3 da aac, kuma ingancin ya fi girma. Latency yawanci a kusa da 5 ~ 66,5ms.

    Pion, WebRTC a cikin Golang

    Pawn wani buɗaɗɗen aiki ne wanda ke kawo WebRTC zuwa Golang. Maimakon naɗaɗɗen ɗakunan karatu na C++ na gida na WebRTC na yau da kullun, Pion shine aiwatar da Golang na asali na WebRTC tare da ingantaccen aiki, Haɗin kai, da sarrafa sigar akan ka'idojin WebRTC.

    Laburaren kuma yana ba da damar yawo tare da manyan abubuwan ginannun ginannun abubuwa masu yawa tare da jinkirin ƙarami na biyu. Yana da nasa aiwatar da STUN, DTLS, SCTP, da dai sauransu. da wasu gwaje-gwaje tare da QUIC da WebAssembly. Wannan buɗewar ɗakin karatu da kanta ingantaccen tushen ilmantarwa ne tare da ingantattun takardu, aiwatar da ƙa'idar hanyar sadarwa, da kyawawan misalai.

    Al'ummar Pion, wanda mahalicci mai kishi ke jagoranta, suna da daɗi sosai, tare da tattaunawa mai inganci da yawa da ke gudana game da WebRTC. Idan kuna sha'awar wannan fasaha, shiga http://pion.ly/slack – za ku koyi sababbin abubuwa da yawa.

    Rubutun CloudRetro a Golang

    Buɗe wasan girgije mai tushe akan WebRTC: p2p, mai kunnawa da yawa, latency sifili
    Aiwatar da ma'aikaci a Go

    Tafi Tashoshi a Aiki

    Godiya ga kyakkyawan tsarin tashar Go, an sauƙaƙa matsalolin yawowar al'amura da daidaitawa. Kamar yadda yake a cikin zane, GoRoutines daban-daban suna da abubuwa da yawa da ke gudana a layi daya. Kowane bangare yana sarrafa yanayinsa kuma yana sadarwa ta tashoshi. Zaɓin zaɓin Golang ya tilasta aiwatar da taron atomic guda ɗaya kowane lokaci a cikin wasan (kasidar wasa). Wannan yana nufin cewa ba a buƙatar kullewa don wannan ƙira. Misali, lokacin da mai amfani ya adana, ana buƙatar cikakken hoton yanayin wasan. Ya kamata wannan yanayin ya ci gaba da ci gaba, yana shiga har sai an gama adanawa. A yayin kowane kaska na wasa, ƙwanƙolin baya zai iya ɗaukar aikin adanawa ko shigar da shi kawai, yana sa zaren tsari lafiyayye.

    func (e *gameEmulator) gameUpdate() {
    for {
    	select {
    		case <-e.saveOperation:
    			e.saveGameState()
    		case key := <-e.input:
    			e.updateGameState(key)
    		case <-e.done:
    			e.close()
    			return
    	}
        }
    }

    Fan-in/Magoya baya

    Wannan samfurin Golang ya dace da yanayin amfani da CrowdPlay na da Multiple Player daidai. Ta bin wannan tsari, duk abubuwan da masu amfani da ke cikin daki ɗaya an gina su a cikin tashar shiga ta tsakiya. Ana aika kafofin watsa labarai na wasan zuwa duk masu amfani da ke cikin ɗaki ɗaya. Ta wannan hanyar, muna cimma rarrabuwar yanayin wasan tsakanin lokutan wasan da yawa na masu amfani daban-daban.

    Buɗe wasan girgije mai tushe akan WebRTC: p2p, mai kunnawa da yawa, latency sifili
    Aiki tare tsakanin lokuta daban-daban

    Lalacewar Golang

    Golang ba cikakke ba ne. Tashar tana a hankali. Idan aka kwatanta da toshewa, Tashar Go ita ce hanya mafi sauƙi don gudanar da abubuwan da suka faru a lokaci ɗaya da zare, amma tashar ba ta samar da mafi kyawun aiki. Akwai hadaddun toshe dabaru a ƙarƙashin tashar. Don haka na yi wasu gyare-gyare ga aiwatarwa, sake amfani da makullai da ƙimar atomic lokacin maye gurbin tashoshi don haɓaka aiki.

    Bugu da kari, ba a sarrafa mai dattin datti a Golang, wanda a wasu lokuta yakan haifar da tsaiko mai tsayi. Wannan yana tsoma baki tare da aikace-aikacen yawo na ainihi.

    COG

    Aikin yana amfani da ɗakin karatu na Golang VP8/H264 da ke akwai don matsawa kafofin watsa labarai da Libretro don masu kwaikwayon wasan kwaikwayo. Duk waɗannan ɗakunan karatu kawai nanne ne na ɗakin karatu na C a Go ta amfani da su COG. An jera wasu rashin amfani a ciki wannan post ta Dave Cheney. Matsalolin da na ci karo da su:

    • rashin iya kama wani hadari a cikin CGO, har ma da Golang RecoveryCrash;
    • gazawar gano matsalolin aiki lokacin da ba za mu iya gano cikakkun matsaloli a cikin CGO ba.

    ƙarshe

    Na cimma burina na fahimtar ayyukan wasan caca na girgije da ƙirƙirar dandamali wanda ke taimaka mini yin wasannin retro na nostalgic tare da abokaina akan layi. Wannan aikin ba zai yiwu ba in ba tare da ɗakin karatu na Pion ba da goyon bayan al'ummar Pion. Ina matukar godiya ga ci gaban da aka samu. APIs masu sauƙi waɗanda WebRTC da Pion suka bayar sun tabbatar da haɗin kai mara kyau. An fito da tabbacina na farko na ra'ayi a wannan makon, kodayake ba ni da masaniyar sadarwa tsakanin ɗan-ɗan-tsara (P2P).

    Duk da sauƙin haɗin kai, P2P streaming haƙiƙa yanki ne mai sarƙaƙƙiya a kimiyyar kwamfuta. Dole ne ta yi hulɗa da rikitattun gine-ginen hanyoyin sadarwa na zamani irin su IP da NAT don ƙirƙirar zaman-tsaro-da-tsara. Yayin da nake aiki a kan wannan aikin, na sami ilimi mai mahimmanci game da hanyar sadarwa da haɓaka aiki, don haka ina ƙarfafa kowa da kowa ya gwada gina samfuran P2P ta amfani da WebRTC.

    CloudRetro yana kula da duk shari'o'in amfani da nake tsammanin daga hangen nesa na a matsayin ɗan wasan retro. Duk da haka, ina tsammanin akwai wurare da yawa a cikin aikin da zan iya ingantawa, irin su samar da hanyar sadarwa mafi aminci da aiki, samar da mafi kyawun kayan wasan kwaikwayo, ko ikon raba wasanni tsakanin masu amfani. Ina aiki tukuru akan wannan. Da fatan za a bi aikin kuma ku goyi bayansa idan kuna so.

source: www.habr.com

Add a comment