Kako prejemati SMS v C#
Ta članek ponuja informacije o tem, kako prejemati SMS v C# z Ozeki C# SMS API. Vsebuje nekaj primerov kode, ki jih lahko uporabite, in opisuje korake, ki jih morate slediti. Za dokončanje korakov potrebujete približno 5 minut. Skratka, za prejem SMS z C# SMS API se morate prijaviti na dogodek OnMessages received in napisati metodo za obdelavo dogodkov, ki bo obdelala dohodno SMS, poslano z Ozeki SMS gateway. Preberite več o tem postopku!
Zakaj želite prejemati SMS v C#?Za prejem SMS v C# obstajajo različni razlogi. Morda želite zbirati podatke iz senzorjev ali mobilnih uporabnikov, ustvariti SMS storitve, ki pošiljajo odgovore z informacijami, ali preprosto prositi uporabnike, da potrdijo prejem SMS-a.
Predpogoji- Nameščen Ozeki SMS Gateway
- Microsoft Visual Studio
- Primer za prejem SMS v C# (OzekiConsole.zip)
- Prenesite primer za prejem SMS v C#
- Odprite rešitev v Visual Studiu
- Povežite se z Ozeki SMS Gateway
- Prejmite simulirani SMS v C#
- Povežite se z mobilnim omrežjem
- Prejmite SMS v C#, ki je bil poslan z mobilnega telefona
- Preverite dnevnike v SMS gatewayu
- Preverite poročilo o dostavi na vašem mobilnem telefonu
Spodnji primer kode v C# za SMS prikazuje najpomembnejše korake za ustvarjanje storitve za prejem SMS. Ozeki C# SMS API je brezplačen. Knjižnico API-ja, primere, ki so vključeni, lahko spreminjate in uporabljate v svojem projektu ter jih prosto redistribuirate ali izpeljete. Naslednji primer prikazuje, kako se naročiti na dogodek OnMessageReceived v C# in kako obdelati ta dogodek. Primer izpiše dohodno SMS sporočilo na konzolo.
class Program { static OzxClient Client; static void Main(string[] args) { Client = new OzxClient(); Client.AutoReconnect = true; Client.OnMessageReceived += Client_OnMessageReceived; Client.Connect("127.0.0.1",9580,"testuser","testpass"); } static void Client_OnMessageReceived(object sender, OzxArgs<IOzxMessage> e) { Console.WriteLine("Sporočilo prejeto: " + e.Item.ToString()); } }
Parameter e.Item je celotno OzxMessage. To pomeni, da imate vse podrobnosti SMS sporočila v vašem C# SMS API dogodku. Te podrobnosti vključujejo pošiljatelja SMS-a, telefonsko številko, na katero je bil SMS poslan, besedilo SMS-a in ustrezne časovne žige.
Ena največjih prednosti uporabe Ozeki C# SMS API je, da prejmete dohodna SMS sporočila takoj. Takoj, ko pridejo v SMS gateway, so posredovana vašemu C# SMS odjemalcu prek vzpostavljene TCP/IP povezave. To pomeni, da ne boste doživeli nobenih zamud.
Če vaš C# SMS API odjemalec ni povezan z SMS gatewayem, ko je SMS prejet, je SMS shranjen v mapi »inbox« SMS gatewaya. To pomeni, da vaša dohodna sporočila ne bodo izgubljena, tudi če je SMS programska oprema, ki ste jo napisali z uporabo C# SMS API, offline. To je posledica dejstva, da je Ozeki SMS Gateway pravzaprav SMS strežnik.
Korak 1 - Prenesite Ozeki C# SMS knjižnicoPojdite na https://ozeki-sms-gateway.com/attachments/5755/OzekiConsole.zip in prenesite zip datoteko s svojim brskalnikom. Zip datoteka bo končala v vaši mapi za prenose (Slika 2). Datoteko lahko odprete neposredno v Windows Explorerju. Preneseni zip paket bo vseboval primer kode, ki jo lahko uporabite za prejem SMS v C#.
Razširite C# SMS knjižnico tako, da kliknete na datoteko OzekiConsole.zip z desno miškino tipko (Slika 2). Prikazal se bo kontekstni meni. V kontekstnem meniju izberite »Extract All...«. Prikazalo se bo okno »Extract dialog«, kjer morate klikniti Extract.
Kliknite gumb »Extract« v oknu »Extract All« (Slika 3).
Odprite mapo OzekiConsole. Ta mapa se bo prikazala, ko boste razširili paket OzekiConsol.zip. V mapi OzekiConsole dvokliknite na datoteko OzekiConsole.sln. Prikazalo se bo okno »How do you want to open this file?«. V tem oknu izberite »Visual Studio«. Ko je Visual Studio izbran, kliknite OK, da odprete C# vzorčni projekt. (Slika 4)
4. korak – Kliknite na Program.cs
Odprite Program.cs s klikom na datoteko v raziskovalcu rešitev na levi strani zaslona. To je glavna koda tega primera projekta v C#. Ta koda vsebuje primere, kako poslati SMS iz C# in kako prejemati SMS v C#. Koda ni preveč dolga, približno 300 vrstic. Prikazuje vso funkcionalnost C# SMS API-ja. (Slika 5)
Poiščite upravljalnik dogodkov OnMessageReceived in nastavite prekinitveno točko na začetno vrstico postopka. Ta prekinitvena točka vam bo omogočila, da ujamete dogodek OnMessageReceived. Dogodek OnMessageReceived se sproži, ko vaša C# SMS odjemalec prejme SMS sporočilo od SMS prehoda. (Slika 6)
Da se bo primer SMS API-ja v C# lahko povezal z SMS prehodom, morate ustvariti uporabniški račun OZX v SMS prehodu. Če želite to narediti, pojdite v upravljalsko konzolo SMS prehoda tako, da odprete URL https://127.0.0.1:9515 in kliknete na povezavo »Dodaj novega uporabnika/aplikacijo« na desni strani zaslona. (Slika 7)
Povezava »Dodaj novega uporabnika/aplikacijo« bo prikazala seznam vrst uporabnikov, ki jih je mogoče namestiti. V seznamu morate najti uporabniški račun OZX. Uporabniški račun OZX uporablja zelo optimiziran SMS protokol, ki omogoča vaši C# SMS aplikaciji komunikacijo z SMS prehodom prek omrežja. Ker SMS prehod in C# SMS odjemalec komunicirata prek omrežja, lahko prejmete besedilno sporočilo v vašem C# projektu, tudi če projekt teče na drugem računalniku. (Slika 8)
Vnesite uporabniško ime in geslo. V našem primeru uporabljamo »testuser« kot uporabniško ime in »testpass« kot geslo. C# SMS odjemalec bo uporabil te poverilnice za povezavo z SMS prehodom. Če želite več kot eno povezavo C# SMS API, lahko ustvarite več uporabniških računov OZX. Vsak uporabniški račun bo gostil svojega C# SMS API odjemalca. Če želite odločiti, kateri C# SMS odjemalec bo prejel dohodno SMS, morate ustvariti dohodne poti v Ozeki tabeli usmerjanja SMS. (Slika 9)
Omogočite možnosti beleženja za račun C# SMS API, da dobite komunikacijske dnevnike. Priporočam, da najprej potrdite vsa polja za beleženje, da boste dobili podrobne informacije o tem, kaj se zgodi s sporočilom. Če prejmete besedilo, ga boste videli v dnevniku, preden bo posredovano vašemu C# SMS odjemalcu. (Slika 10)
Ustvarite novo pot SMS, da omogočite uporabniku admin pošiljanje testnih SMS sporočil odjemalcu C# SMS API. Ena najboljših stvari pri uporabi Ozeki SMS prehoda je, da omogoča upravljanje vaših SMS sporočil s tabelo usmerjanja. Lahko nastavite različne povezave z mobilnim omrežjem in se odločite, kam bodo šla posamezna SMS sporočila. V našem primeru želimo usmeriti SMS sporočila, ki prihajajo od računa admin, k odjemalcu C# SMS API. V resničnem sistemu ne boste usmerjali SMS sporočil od računa admin, namesto tega boste usmerjali SMS sporočila, prejeta na povezavah z mobilnim omrežjem, k vašemu odjemalcu C# SMS API.
Če želite ustvariti novo pot SMS, kliknite »Dodaj novo pot« na nadzorni plošči Ozeki SMS prehoda (Slika 11).
Če želite prejeti besedilo med pisanjem vaše kode C# SMS, boste uporabili obrazec za sestavljanje SMS v SMS prehodu in poslali SMS kot uporabnik admin. Pot SMS, ki jo boste ustvarili, bo usmerila SMS sporočila, ki prihajajo od admin, k računu testuser. Račun testuser bo prejeta SMS sporočila posredoval odjemalcu C# SMS (Slika 12).
Izberite »testuser« kot cilj za vaša dohodna SMS sporočila v obrazcu s podrobnostmi usmerjanja. Ta pot bo poslala SMS sporočila od uporabnika admin k uporabniku testuser. Uporabnik testuser bo prejeta SMS sporočila posredoval odjemalcu C# API (Slika 13).
7. korak – Zaženite primer projekta C# za SMS
Če želite začeti svoj projekt C# za SMS, morate klikniti gumb Start v orodni vrstici Visual Studio. Ko kliknete ta gumb, bo Visual Studio prevedel kodo in jo zažel v razvojnem okolju. Izvajanje programa se bo ustavilo, ko algoritem doseže prekinitveno točko. Ker je naš primer konzolna aplikacija, boste videli črno konzolno okno, ki se prikaže, ko se izvajanje začne. (Slika 14)
V konzolno okno vpišite "help". Besedilo pomoči bo prikazalo razpoložljive ukaze v tem primeru projekta. Prvi ukaz, ki ga boste uporabili, je ukaz "connect". V konzolno okno vpišite "connect 127.0.0.1:9580 testuser testpass", da povežete svojo kodo C# za SMS s prehodom SMS. Upoštevajte, da 127.0.0.1 pomeni, da SMS prehod teče na istem računalniku kot vaša koda C# za SMS. 9580 je vrata TCP/IP, ki jih SMS prehod uporablja za sprejemanje odjemalcev C# za SMS (uporabniki OZX), poverilni podatki testuser in testpass pa so tisti, ki smo jih določili, ko smo ustvarili uporabniški račun OZX v 6. koraku tega vadnice za SMS. (Slika 15)
Ko se povežete s prehodom SMS, ste pripravljeni poslati svoje prvo SMS sporočilo svojemu odjemalcu C# API.
8. korak – Pošljite testno SMS sporočilo
Pošljite testno SMS sporočilo s klikom na gumb "New" v orodni vrstici Ozeki v konzoli za upravljanje prehoda SMS. Ko pošljete testno SMS sporočilo, boste morali določiti naslov prejemnika in besedilo sporočila. Na zavihku Advanced lahko določite tudi ID pošiljatelja, kot je alfanumerični ID pošiljatelja za vaše SMS sporočilo. (Slika 16)
Kliknite OK, da oddate testno SMS sporočilo. Vaš prehod SMS vam bo zagotovil dogodke, povezane s predložitvijo SMS sporočila, in prikazal vam bo ID sporočila. Opazite lahko niz GUID v zadnji vrstici slike 17.
Ko administrator pošlje SMS sporočilo, ga prejme uporabniški račun OZX z imenom testuser. Ta uporabniški račun posreduje SMS sporočilo odjemalcu C# za SMS prek omrežja. Odjemalec C# za SMS prejme besedilo prek povezave TCP/IP, ki jo vzpostavi metoda connect. Če ste nastavili prekinitveno točko v dogodku OnMessageReceived, bo vaša prekinitvena točka na tem mestu ustavila izvajanje programa.
9. korak – Prejmite SMS v konzoli C#
Preberite vrstico s prejetim sporočilom v konzoli C#. Videli boste, da je SMS sporočilo poslal admin@localhost na telefonsko številko +361111111. Odjemalec C# za SMS API je prejel besedilo 'Hello c sharp client' (slika 18). Besedilno sporočilo je bilo odjemalcu C# predstavljeno v obliki dogodka C#. Klicanec dogodka OnMessageReceived se pokliče, ko se ta dogodek sproži, sporočilo pa se postavi v vhodni parameter metode OzMessageReceived.
Naslednja stvar, ki jo želite storiti, je pogledati dnevnik v prehodu SMS.
10. korak – Ogled dnevnikov v prehodu SMS
Odprite stran s podrobnostmi uporabnika testuser s klikom na povezavo testuser v nadzorni plošči prehoda SMS Ozeki. To nas bo pripeljalo do dnevnika dogodkov uporabniškega računa testuser. V tem dnevniku dogodkov pričakujemo, da bomo videli komunikacijo, ki poteka med odjemalcem C# za SMS in prehodom SMS. Prav tako pričakujemo, da bomo videli prejeto SMS sporočilo v komunikacijskem dnevniku. (Slika 19)
Poiščite vrstico "Received." v zavihku dogodkov uporabnika testuser. V tej vrstici boste videli SMS sporočilo, ki ga je prejel odjemalec C# za SMS. Vidite lahko datum in čas dogodka ter podrobnosti sporočila. Pod človeku berljivim vnosom v dnevniku boste videli dnevnik komunikacije protokola OZX. Ta dnevnik vam omogoča odpravljanje napak v komunikaciji, če pride do kakršnih koli težav. (Slika 20)
Prejemanje besedilnega sporočila iz mobilnega omrežja
V zgornjih korakih smo simulirali dohodno sporočilo. Skrbniški uporabnik je poslal sporočilo, ki je bilo posredovano v C# primer SMS. Naslednji korak je povezovanje sistema z mobilnim omrežjem. Za to imate različne možnosti. Lahko se povežete s ponudnikom SMS storitev prek interneta z uporabo Ozeki 10 SMS prehod na vaš Android telefon in uporabite vgrajeno SMS povezavo Android SMS prehoda. (Slika 21)
Da zgornja rešitev deluje z Android telefonom, morate samo ustvariti dohodno pot v Ozeki tabeli usmerjanja SMS. To pot morate ustvariti med povezavo z mobilnim omrežjem in uporabnikom C# SMS API (testuser). Če želite najti najboljšo metodo povezave z mobilnim omrežjem za vaš projekt, si oglejte naš vodič za povezovanje SMS prehoda z mobilnim omrežjem. (Slika 22)
Če povzamemo
To je bil dolg in zelo podroben seznam navodil, ki vam bo pomagal začeti z razvojem C# SMS projekta, ki lahko prejema SMS sporočila. Če začnete uporabljati to rešitev, boste hitro ugotovili, da je ta rešitev zelo dobra, če želite prejemati SMS sporočila takoj prek različnih povezav z mobilnim omrežjem. Ta rešitev deluje ne glede na to, ali želite prejemati SMS prek Android mobilnega telefona ali prek IP SMS povezave, kot je SMPP odjemalska povezava.
More information
- Kako poslati SMS iz C#
- Prejemanje SMS v C#
- C# SMS API povezava za pošiljanje SMS
- C# SMS API - prekinitev povezave s SMS prehodom
- C# SMS API - ohranjanje SMS povezave
- C# SMS API - pošiljanje besedilnega sporočila
- C# SMS API - SMS sprejet za dostavo
- C# SMS API - SMS ni sprejet za dostavo
- C# SMS API - poslano
- C# SMS API - pošiljanje ni uspelo
- C# SMS API - poročilo o uspešni dostavi
- C# SMS API - poročilo o neuspešni dostavi
- C# SMS API - alfanumerični ID pošiljatelja
- C# SMS API kako uporabiti kratko številko kot ID pošiljatelja
- C# SMS API razred za besedilno sporočilo