Ako prijímať SMS v C#
Tento článok poskytuje informácie o tom, ako prijímať SMS v C# pomocou Ozeki SMS bránou. Pokračujte v čítaní, aby ste sa dozvedeli viac o tomto postupe!
Prečo chcete prijímať SMS v C#?Existujú rôzne dôvody, prečo prijímať SMS v C#. Môžete chcieť zbierať údaje zo senzorov alebo od mobilných používateľov, môžete vytvárať SMS služby, ktoré odosielajú odpovede s informáciami, alebo môžete jednoducho požiadať svojich používateľov, aby potvrdili prijatie SMS.
Predpoklady- Nainštalovaná Ozeki SMS brána
- Microsoft Visual Studio
- Príklad na prijatie SMS v C# (OzekiConsole.zip)
- Stiahnite si príklad na prijatie SMS v C#
- Otvorte riešenie v Visual Studio
- Pripojte sa k Ozeki SMS bráne
- Prijmite simulovanú SMS v C#
- Pripojte sa k mobilnej sieti
- Prijmite SMS v C#, ktorá bola odoslaná z mobilného telefónu
- Skontrolujte záznamy v SMS bráne
- Skontrolujte správu o doručení na vašom mobile
Ukážka kódu v C# nižšie popisuje najdôležitejšie kroky na vytvorenie služby na prijímanie SMS. Ozeki C# SMS API je poskytované zadarmo. Knižnicu API, príklady, ktoré sú s ňou dodávané, môžete upravovať a môžete ju použiť vo svojom projekte a voľne ju alebo jej deriváty redistribuovať. Nasledujúci príklad ukazuje, ako sa prihlásiť k udalosti OnMessageReceived v C# a ako túto udalosť spracovať. Príklad vypíše prichádzajúcu SMS správu do konzoly.
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("Správa prijatá: " + e.Item.ToString()); } }
Parameter e.Item je kompletná OzxMessage. To znamená, že máte všetky podrobnosti o SMS správach vo vašej C# SMS API udalosti. Tieto podrobnosti zahŕňajú ID odosielateľa SMS, telefónne číslo, na ktoré bola SMS odoslaná, text SMS a príslušné časové značky.
Jednou z najväčších výhod používania Ozeki C# SMS API je, že prichádzajúce SMS správy dostanete okamžite. Hneď ako dorazia do SMS brány, sú prenesené do vášho C# SMS klienta cez nadviazané TCP/IP spojenie. To znamená, že nebudete mať žiadne oneskorenia.
Ak váš C# SMS API klient nie je pripojený k SMS bráne, keď je SMS prijatá, SMS je uložená v priečinku doručenej pošty SMS brány. To znamená, že vaše prichádzajúce správy sa nestratia, aj keď SMS softvér, ktorý ste napísali pomocou C# SMS API, je offline. Je to preto, že Ozeki SMS brána je v skutočnosti SMS server.
Krok 1 - Stiahnite si Ozeki C# SMS knižnicuPrejdite na https://ozeki-sms-gateway.com/attachments/5755/OzekiConsole.zip a stiahnite si zip súbor pomocou vášho prehliadača. Zip súbor sa uloží do vášho priečinka na stiahnuté súbory (Obrázok 2). Môžete otvoriť stiahnutý súbor priamo v Průzkumníkovi Windows. Stiahnutý zip balík bude obsahovať ukážkový kód, ktorý môžete použiť na prijímanie SMS v C#.
Extrahujte C# SMS knižnicu kliknutím pravým tlačidlom myši na súbor OzekiConsole.zip (Obrázok 2). Toto zobrazí kontextové menu. V kontextovom menu vyberte "Extrahovať všetko...". Toto zobrazí okno "Extrahovať", kde musíte kliknúť na Extrahovať.
Kliknite na tlačidlo "Extrahovať" v okne "Extrahovať všetko" (Obrázok 3).
Otvorte priečinok OzekiConsole. Tento priečinok sa zobrazí po extrahovaní balíka OzekiConsol.zip. V priečinku OzekiConsole dvakrát kliknite na súbor OzekiConsole.sln. Toto zobrazí okno "Ako chcete otvoriť tento súbor?". V tomto okne vyberte "Visual Studio". Po výbere Visual Studio kliknite na OK, aby ste otvorili ukážkový projekt v C#. (Obrázok 4)
Krok 4 - Kliknite na Program.cs
Otvorte Program.cs kliknutím na súbor v priečinku riešení na ľavej strane obrazovky. Toto je hlavný kód tohto príkladu projektu v C#. Tento kód obsahuje príklady na to, ako odoslať SMS z C# a ako prijímať SMS v C#. Kód nie je príliš dlhý, má približne 300 riadkov. Demonštruje kompletnú funkcionalitu C# SMS API. (Obrázok 5)
Nájdite obsluhu udalosti OnMessageReceived a nastavte bod prerušenia na začiatok procedúry. Tento bod prerušenia vám umožní zachytiť udalosť OnMessageReceived. Udalosť OnMessageReceived sa spustí, keď váš C# SMS klient prijme SMS správu od SMS brány. (Obrázok 6)
Aby sa príklad C# SMS API mohol pripojiť k SMS bráne, musíte vytvoriť používateľský účet OZX v SMS bráne. Prejdite na konzolu správcu SMS brány otvorením URL https://127.0.0.1:9515 a kliknite na odkaz "Pridať nového používateľa/aplikáciu" na pravej strane obrazovky. (Obrázok 7)
Odkaz "Pridať nového používateľa/aplikáciu" zobrazí zoznam inštalovateľných typov používateľov. V zozname musíte nájsť používateľský účet OZX. Používateľský účet OZX využíva vysoko optimalizovaný SMS protokol, ktorý umožňuje vašej C# SMS aplikácii komunikovať so SMS bránou cez sieť. Pretože SMS brána a C# SMS klient komunikujú cez sieť, môžete prijímať textové správy vo vašom C# projekte, aj keď projekt beží na inom počítači. (Obrázok 8)
Zadajte používateľské meno a heslo. V našom príklade používame testuser ako používateľské meno a testpass ako heslo. C# SMS klient použije tieto prihlasovacie údaje na pripojenie k SMS bráne. Ak potrebujete viac ako jedno pripojenie C# SMS API, môžete vytvoriť viacero používateľských účtov OZX. Každý používateľský účet bude hostiť svoj vlastný C# SMS API klient. Ak chcete rozhodnúť, ktorý C# SMS klient prijme prichádzajúcu SMS, musíte vytvoriť prichádzajúce trasy v smerovacej tabuľke Ozeki SMS. (Obrázok 9)
Povoľte možnosti logovania pre účet C# SMS API, aby ste získali záznamy o komunikácii. Odporúčam začiarknuť všetky políčka logovania najprv, aby ste získali podrobné informácie o tom, čo sa so správou deje. Ak prijmete text, uvidíte ho v zázname predtým, ako bude preposlaný vášmu C# SMS klientovi. (Obrázok 10)
Vytvorte novú SMS trasu, ktorá umožní správcovi odosielať testovacie SMS správy do C# SMS API klienta. Jednou z najlepších vecí pri používaní Ozeki SMS brány je, že umožňuje spravovať vaše SMS správy pomocou smerovacej tabuľky. Môžete nastaviť rôzne pripojenia mobilnej siete a rozhodnúť sa, ktorá SMS kam pôjde. V našom príklade chceme smerovať SMS správy prichádzajúce od správcu do C# SMS API klienta. V reálnom systéme nebudete smerovať SMS od správcu, namiesto toho budete smerovať SMS správy prijaté na pripojeniach mobilnej siete do vášho C# SMS API klienta.
Ak chcete vytvoriť novú SMS trasu, kliknite na Pridať novú trasu v ovládacom paneli Ozeki SMS brány (Obrázok 11).
Ak chcete prijímať textové správy počas písania vášho C# SMS kódu, použijete formulár na vytvorenie SMS v SMS bráne a budete odosielať SMS ako správca. SMS trasa, ktorú vytvoríme, bude smerovať SMS správy prichádzajúce od správcu na účet testuser. Účet testuser preposiela SMS do C# SMS klienta (Obrázok 12).
V formulári smerovacích detailov vyberte testuser ako cieľ pre vaše prichádzajúce SMS správy. Táto trasa bude odosielať SMS správy od správcu na testuser. Testuser preposiela prijaté SMS správy do C# API klienta (Obrázok 13).
Krok 7 - Spustenie príkladu projektu C# pre SMS
Ak chcete spustiť svoj projekt C# pre SMS, musíte kliknúť na tlačidlo Štart na paneli nástrojov Visual Studio. Po kliknutí na toto tlačidlo Visual Studio skompiluje kód a spustí ho vo vývojovom prostredí. Vykonávanie programu sa zastaví, keď algoritmus narazí na bod prerušenia. Keďže náš príklad je konzolová aplikácia, uvidíte čierne konzolové okno, ktoré sa objaví po spustení vykonávania. (Obrázok 14)
Do konzolového okna zadajte príkaz help. Pomocný text zobrazí dostupné príkazy, ktoré môžete v tomto príkladovom projekte použiť. Prvý príkaz, ktorý použijete, je príkaz connect. Zadajte "connect 127.0.0.1:9580 testuser testpass" do konzolového okna, aby ste pripojili svoj kód C# pre SMS k SMS bráne. Upozorňujeme, že 127.0.0.1 znamená, že SMS brána beží na tom istom počítači, kde beží váš kód C# pre SMS. 9580 je TCP/IP port, ktorý SMS brána používa na prijatie klientov C# pre SMS (používateľov OZX), a poverenia testuser a testpass sú tie, ktoré sme definovali pri vytvorení používateľského účtu OZX v kroku 6 tohto návodu pre SMS. (Obrázok 15)
Po pripojení k SMS bráne ste pripravení odoslať svoju prvú SMS svojmu klientovi C# API.
Krok 8 - Odoslanie testovacej SMSOdošlite testovaciu SMS správu kliknutím na tlačidlo "Nový" na paneli nástrojov Ozeki v konzole správy SMS brány. Pri odosielaní testovacej SMS budete musieť definovať adresu príjemcu a text správy. Na karte Pokročilé môžete tiež definovať ID odosielateľa, ako je krátky kód SMS alebo alfanumerické ID odosielateľa pre vašu SMS. (Obrázok 16)
Kliknutím na OK odošlete testovaciu SMS. Vaša SMS brána vám poskytne udalosti súvisiace s odoslaním SMS a budete informovaní o ID správy. Môžete si všimnúť reťazec GUID v poslednom riadku obrázku 17.
Po odoslaní SMS správu používateľom admin je táto správa prijatá používateľským účtom OZX s názvom testuser. Tento používateľský účet preposiela SMS klientovi C# pre SMS cez sieť. Klient C# pre SMS prijíma text cez TCP/IP spojenie vytvorené metódou connect. Ak ste nastavili bod prerušenia v udalosti OnMessageReceived, práve v tomto momente sa vykonávanie programu pozastaví.
Krok 9 - Prijatie SMS v C# konzolePrečítajte si riadok s prijatou správou v C# konzole. Uvidíte, že SMS bola odoslaná používateľom admin@localhost na telefónne číslo +361111111. Klient C# SMS API prijal text 'Hello c sharp client' (Obrázok 18). Textová správa bola klientovi C# predložená vo forme udalosti C#. Obslužná metóda udalosti OnMessageReceived je volaná, keď je táto udalosť vyvolaná, a správa bola vložená do vstupného parametra metódy obsluhy udalosti OzMessageReceived.
Ďalšia vec, ktorú chcete urobiť, je pozrieť si záznamy v SMS bráne.
Krok 10 - Zobrazenie záznamov v SMS bráneOtvorte stránku s podrobnosťami používateľa testuser kliknutím na odkaz testuser na nástenke Ozeki SMS brány. Toto nás prevedie na záznam udalostí účtu testuser. V tomto zázname udalostí očakávame, že uvidíme komunikáciu, ktorá prebieha medzi klientom C# pre SMS a SMS bránou. Tiež očakávame, že uvidíme prijatú SMS správu v zázname komunikácie. (Obrázok 19)
Nájdite riadok "Received." na karte udalostí používateľa testuser. V tomto riadku uvidíte SMS prijatú klientom C# pre SMS. Môžete vidieť dátum a čas udalosti a podrobnosti správy. Pod čitateľným záznamom v denníku uvidíte záznam komunikácie protokolu OZX. Tento záznam vám umožňuje ladenie komunikácie v prípade, že sa vyskytnú nejaké problémy. (Obrázok 20)
Prijatie textovej správy z mobilnej siete
V vyššie uvedených krokoch sme simulovali prichádzajúcu správu. Správu odoslal administrátorský používateľ, ktorá bola preposlaná do C# príkladu SMS. Ďalším krokom je pripojenie systému k mobilnej sieti. Na to máte rôzne možnosti. Môžete sa pripojiť k poskytovateľovi SMS služieb cez internet pomocou Ozeki 10 SMS bránu na svoj Android telefón a použiť vstavané SMS pripojenie Android SMS brány. (Obrázok 21)
Aby vyššie uvedené riešenie fungovalo s Android telefónom, všetko, čo musíte urobiť, je vytvoriť prichádzajúcu trasu v Ozeki SMS smerovacej tabuľke. Túto trasu musíte vytvoriť medzi pripojením k mobilnej sieti a používateľom C# SMS API (testuser). Ak chcete nájsť najlepší spôsob pripojenia k mobilnej sieti pre váš projekt, pozrite si náš návod ako pripojiť vašu SMS bránu k mobilnej sieti. (Obrázok 22)
Aby sme to zhrnuli
Toto bol dlhý a veľmi podrobný zoznam inštrukcií, ktorý vám pomôže začať s vývojom C# SMS projektu, ktorý dokáže prijímať SMS správy. Ak začnete toto riešenie používať, rýchlo zistíte, že je veľmi vhodné, ak chcete prijímať SMS správy rýchlo cez rôzne pripojenia k mobilnej sieti. Toto riešenie funguje či už chcete prijímať SMS cez Android mobilný telefón alebo cez IP SMS spojenie, ako je SMPP klient.
More information
- How to send SMS from C#
- Receive SMS in C#
- C# SMS API connect to send SMS
- C# SMS API - disconnect from SMS gateway
- C# SMS API - keepalive SMS connection alive
- C# SMS API - send a text message
- C# SMS API - SMS accepted for deliery event
- C# SMS API - SMS not accepted for delivery
- C# SMS API - submited
- C# SMS API - submit failed
- C# SMS API - delivery report successful
- C# SMS API - delivery failed report
- C# SMS API - alphanumeric sender ID
- C# SMS API how to use short code as sender ID
- C# SMS API text message class