Uhlelo lwakho luqhubeka nokusebenza ngenkathi umhubhe ufa. I-Wi-Fi isavuliwe, i-inthanethi isaphendula, futhi i-API eyimfihlo uhlelo oluncike kuyo isibe ayifinyeleleki. Umcimbi we-.NET abantu abavame ukuwuthatha lapha, NetworkAvailabilityChanged, awusichazi leso simo nhlobo. Ubika ushintsho esimweni esihlangene somshini, futhi leso simo singahlala siyiqiniso phakathi kokunqamuka nokuxhumeka kabusha kwe-VPN. Umlindi kufanele aqaphele iklayenti engumnikazi womhubhe, hhayi isifinyezo se-stack yenethiwekhi.

Ukutholakala kuyisamba, hhayi umhubhe wakho

NetworkAvailabilityChanged kucushwa lapho impendulo ehlangene yokutholakala yomshini ishintsha, futhi leyo mpendulo ibala noma iyiphi i-interface esebenzayo ngaphandle kwe-loopback noma umhubhe.

Ukuwa kwe-VPN ngenkathi i-Wi-Fi ivuliwe akushintshi lutho kuleyo ento ekukalayo, yingakho umcimbi ungahlala uthule ngesikhathi sokwehluleka okubalulekile kuwe.

Ukugeleza kwesimo kungokuklayenti engumnikazi womhubhe

Khomba ukuthi iyiphi ingxenye engumnikazi wokuxhumana: i-GUI noma insizakalo ye-OpenVPN, i-OpenVPN Connect, noma inqubo eyaqalwa futhi elawulwa uhlelo lwakho. Laba bangabanikazi abehlukene abanezixhumi ezisekelwayo ezihlukene, futhi umlindi kufanele asebenzise lokho okuhambisana nokusetshenziswa. Ngenqubo ye-OpenVPN ogunyaziwe ukuxhumana nayo, isixhumi sokuphatha sibika isimo samanje, umlando kanye nezaziso zesikhathi sangempela. Hlaziya imiyalezo ehleliwe ebhaliwe esikhundleni sokusesha igama elithi connected kumbhalo we-GUI ohunyushiwe.

Isiteshi sokuphatha siyindawo yokulawula enelungelo, ngakho ungavuli umlaleli omusha futhi ungadeli ne-GUI ngesiteshi esivele sinaso.

Abagadi besizukulwane bavimba imiphumela edlule

Konke ukuqaphela kungokomzamo othile wokuxhumana. Khulisa isibali sesizukulwane lapho umzamo omusha uqala, lapho isiteshi silahleka noma lapho iklayenti libika ukuphuma.

Cabanga ngohlolo olwaqala phakathi kokuxhumana A. Umhubhe uyawa, ukuxhumana B kuqala, bese kufika impumelelo ye-HTTP ye-A ebambezelekile. Ngaphandle komgadi, lowo mphumela wakudala wenza isibonisi sibe luhlaza ngenkathi u-B usaqinisekisa. Ukukhansela kunciphisa umsebenzi oyize, futhi ukuhlolwa kwesizukulwane yikho okuvimbela ukuqedwa okudlule ekubeni yisimo samanje:

var generation = _generation;
var reachable = await ProbeAsync(token);
if (generation != _generation) return;
Publish(reachable);

Sebenzisa umthetho ofanayo ezungeze ukuthunyelwa ku-UI, ngoba ukubuyekezwa okwenziwe i-marshalling kungafika ngemva kokuba isizukulwane sidlule phambili.

Ukuqalisa nokuxhumeka kabusha kuwumjikelezo wokuphila owodwa

Thatha ukuxhumana kokuqala, ukuxhumeka kabusha nokulahleka kwesiteshi njengomjikelezo wokuphila owodwa oneqoqo elilodwa lemithetho:

  • Funda isimo samanje futhi ubhalisele izaziso esinyathelweni esisodwa lapho isixhumi sikuvumela.
  • Maka konke ukuqaphela ngobunikazi bokuxhumana nangesizukulwane.
  • Yenza ukulungela kungasebenzi ekuxhumekeni kabusha, ekuphumeni noma esiteshini sokuqaphela esilahlekile.
  • Hlola isisetshenziswa esiyimfihlo kuphela ngemva kokuba umnikazi ebike ukuqedwa kokuqalisa.
  • Shicilela kuphela imiphumela esengokwesizukulwane samanje.

Isiteshi esilahlekile sisho okungaziwa, hhayi ukunqanyulwa. Ukubika okungaziwa kuthembekile kunokubika ukunqanyulwa ongakwazi ukukufakazela, futhi kuvimbela ingqondo yokuzama futhi ekusebenzeni ngokuqagela.

Bika ubufakazi, hhayi i-boolean

Buyisela isimo seseshini esiqanjwe kanye nokulungela kwesisetshenziswa njengamanani ahlukene, ngalinye linobudala. Umsebenzisi okufanele anqume okuthile angabona ukuthi uhlolo lokugcina oluphumelelayo lunamasekhondi angamashumi amane ubudala, okuwulwazi oluhlukile kolusha.

Ukusesha kwe-IP yomphakathi akubona ubufakazi bokuthi i-API eyimfihlo isebenzise umzila odingekayo, ngakho ungasethuli sengathi kunjalo.

Gcina ukuphoqelela ngaphandle komlindi

I-callback isebenza ngemva kwesigameko. Ayikwazi ukuqinisekisa ukuthi alikho iphakethe elaphuma emshinini phakathi komcimbi nesiphathi. Uma umklamo udinga ukuvimba, kufanele kuhlinzekwe inqubomgomo yenethiwekhi, futhi umsebenzi womlindi ukuchaza ubufakazi kumfoni wakhe. Ukuhlanganisa kokubili kukhiqiza ikhodi ecabanga ukuthi iyisivikelo somlilo ngoba iphethe i-boolean. Gcina ungqimba lokuphoqelela luyisicefe futhi luhloleka, futhi uvumele umlindi ahlale engumfundi.

Khona-ke umbuzo we-UI uba lula: khombisa okwaziwayo, kanye nobudala bakho, futhi uthi akwaziwa lapho kunjalo.

Izihloko ezihlobene