Kako primiti SMS u C#
Ovaj članak daje informacije o tome kako primiti SMS u C# pomoću Ozeki C# SMS API-ja. Pruža neke primere koda koje možete koristiti i opisuje korake koje treba da preduzmete. Za završetak koraka, potrebno vam je oko 5 minuta. Ukratko, da biste primili SMS sa C# SMS API-jem potrebno je da se prijavite na OnMessages received događaj i napišete metod rukovaoca događaja koji će obraditi dolazni SMS poslat putem Ozeki SMS gateway-a. Pročitajte dalje da saznate više o ovom postupku!
Zašto biste želeli da primate SMS u C#?Postoje različiti razlozi za primanje SMS-a u C#. Možda želite da prikupite podatke sa senzora ili korisnika mobilnih telefona, možete kreirati SMS usluge koje šalju odgovor sa informacijama, ili možete jednostavno tražiti od korisnika da potvrde da su primili SMS.
Preduslovi- Ozeki SMS Gateway instaliran
- Microsoft Visual Studio
- Primer za primanje SMS-a u C# (OzekiConsole.zip)
- Preuzmite primer za primanje SMS-a u C#
- Otvori rešenje u Visual Studio
- Povežite se sa Ozeki SMS Gateway-om
- Primite simulirani SMS u C#
- Povežite se sa mobilnom mrežom
- Primite SMS u C# koji je poslat sa mobilnog telefona
- Proverite logove u SMS gateway-u
- Proverite izveštaj o dostavi na svom mobilnom telefonu
Primer C# SMS koda ispod opisuje najvažnije korake koje treba preduzeti da biste kreirali uslugu za primanje SMS-a. Ozeki C# SMS API je besplatan. Možete modifikovati API biblioteku, primere koji dolaze sa njom, i možete je koristiti u svom projektu i slobodno je redistribuirati ili njene izvedenice. Sledeći primer pokazuje kako da se pretplatite na OnMessageReceived C# događaj i kako da upravljate ovim događajem. Primer ispisuje dolaznu SMS poruku na konzolu.
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("Poruka primljena: " + e.Item.ToString()); } }
Parametar e.Item je pun OzxMessage. To znači da imate sve detalje SMS poruka u svom C# SMS API događaju. Ovi detalji uključuju ID pošiljaoca SMS-a, broj telefona na koji je SMS poslat, tekst SMS-a i odgovarajuće vremenske oznake.
Jedna od najvećih prednosti korišćenja Ozeki C# SMS API-ja je to što dobijate dolazne SMS poruke trenutno. Čim stignu u SMS gateway, prosleđuju se vašem C# SMS klijentu kroz uspostavljenu TCP/IP vezu. To znači da nećete doživeti nikakva kašnjenja.
Ako vaš C# SMS API klijent nije povezan sa SMS gateway-om kada je SMS primljen, SMS se čuva u inbox folderu SMS gateway-a. To znači da vaše dolazne poruke neće biti izgubljene čak i ako je SMS softver koji ste napisali koristeći C# SMS API offline. Ovo je zbog činjenice da je Ozeki SMS Gateway zapravo SMS server.
Korak 1 - Preuzmite Ozeki C# SMS bibliotekuIdite na https://ozeki-sms-gateway.com/attachments/5755/OzekiConsole.zip i preuzmite zip fajl sa svojim pretraživačem. Zip fajl će biti u vašem Download direktorijumu (Slika 2). Možete otvoriti preuzimanje direktno u Windows Explorer-u. Preuzeti zip paket će sadržati primer koda koji možete koristiti za primanje SMS-a u C#.
Ekstrahujte C# SMS biblioteku klikom na OzekiConsole.zip fajl desnim tasterom miša (Slika 2). Ovo će prikazati kontekstni meni. U kontekstnom meniju izaberite "Extract All...". Ovo će prikazati "Extract dijalog prozor", gde treba da kliknete na Extract.
Kliknite na "Extract" dugme u "Extract All" dijalog prozoru (Slika 3).
Otvori OzekiConsole folder. Ovaj folder će se pojaviti nakon što ste ekstrahovali OzekiConsol.zip paket. U OzekiConsole folderu dvokliknite na OzekiConsole.sln fajl. Ovo će prikazati dijalog "How do you want to open this file?". U ovom dijalogu izaberite "Visual Studio". Nakon što je Visual Studio izabran, kliknite OK da otvorite C# primer projekta. (Slika 4)
Корак 4 - Кликните на Program.cs
Отворите Program.cs кликом на фајл у Solution Explorer-у на левој страни екрана. Ово је главни код овог примера C# пројекта. Овај код садржи примере како да пошаљете SMS из C# и како да примите SMS у C#. Код није превише дугачак, има око 300 линија. Демонстрира пуну функционалност C# SMS API-ја. (Слика 5)
Пронађите OnMessageReceived event handler и поставите тачку прекида на почетној линији процедуре. Ова тачка прекида ће вам омогућити да ухватите OnMessageReceived догађај. OnMessageReceived догађај се активира када ваш C# SMS клиент прими SMS поруку од SMS gateway-а. (Слика 6)
Да бисте омогућили C# SMS API примеру да се повеже са SMS gateway-ом, потребно је да направите OZX кориснички налог у SMS gateway-у. Да бисте то урадили, идите до SMS gateway management console-а отварањем URL-а https://127.0.0.1:9515 и кликните на линк "Add new user/application" на десној страни екрана. (Слика 7)
Линк "Add new user/application" ће приказати листу инсталабилних типова корисника. Потребно је да пронађете OZX кориснички налог на листи. OZX кориснички налог користи високо оптимизовани SMS протокол, који омогућава вашој C# SMS апликацији да комуницира са SMS gateway-ом преко мреже. Пошто SMS gateway и C# SMS клиент комуницирају преко мреже, можете примити текстуалну поруку у вашем C# пројекту чак и ако пројекат ради на другом рачунару. (Слика 8)
Унесите корисничко име и лозинку. У нашем примеру користимо testuser као корисничко име и testpass као лозинку. C# SMS клиент ће користити ове податке за пријаву на SMS gateway. Ако желите више од једне C# SMS API везе, можете направити више OZX корисничких налога. Сваки кориснички налог ће домаћинствовати свој C# SMS API клиент. Да бисте одлучили који C# SMS клиент ће примити долазни SMS, потребно је да направите улазне руте у Ozeki SMS рутирајућој табели. (Слика 9)
Омогућите опције за логирање за C# SMS API налог да бисте добили логове комуникације. Препоручујем да прво означите све checkbox-ове за логирање, како бисте добили детаљне информације о томе шта се дешава са поруком. Ако примите текст, видећете га у логу пре него што буде прослеђен вашем C# SMS клиенту. (Слика 10)
Направите нову SMS руту да бисте омогућили admin кориснику да шаље тест SMS поруке C# SMS API клиенту. Једна од најбољих ствари код коришћења Ozeki SMS Gateway-а је што вам омогућава да управљате вашим SMS порукама помоћу рутирајуће табеле. Можете подесити различите мобилне мрежне везе и одлучити која SMS порука ће ићи где. У нашем примеру желимо да рутирамо SMS поруке које долазе од admin налога ка C# SMS API клиенту. У стварном систему нећете рутирати SMS поруке од admin налога, уместо тога ћете рутирати SMS поруке примљене на мобилне мрежне везе ка вашем C# SMS API клиенту.
Да бисте направили нову SMS руту, кликните на Add new route у Ozeki SMS Gateway dashboard-у (Слика 11).
Да бисте примили текст док пишете ваш C# SMS код, користићете SMS gateway-ову форму за слање порука и послаћете SMS као admin корисник. SMS рута коју ћемо направити ће усмерити SMS поруке које долазе од admin-a ка testuser налогу. Testuser налог ће проследити SMS C# SMS клиенту (Слика 12).
Изаберите testuser као одредиште за ваше долазне SMS поруке у форми за детаље рутирања. Ова рута ће слати SMS поруке од admin корисника ка testuser-у. Testuser ће проследити примљене SMS поруке C# API клиенту (Слика 13).
Korak 7 - Pokretanje C# SMS primer projekta
Da biste pokrenuli svoj C# SMS projekat, potrebno je da kliknete na dugme Start u alatnoj traci Visual Studio-a. Nakon što kliknete na ovo dugme, Visual Studio će kompajlirati kod i pokrenuti ga u razvojnom okruženju. Izvršavanje programa će biti zaustavljeno kada algoritam naiđe na tačku prekida. Pošto je naš primer konzolna aplikacija, videćete crnu konzolnu prozor koja će se pojaviti nakon pokretanja izvršavanja. (Slika 14)
Ukucajte "help" u konzolnom prozoru. Tekst pomoći će prikazati dostupne komande u ovom primeru projekta. Prva komanda koju ćete koristiti je komanda "connect". Ukucajte "connect 127.0.0.1:9580 testuser testpass" u konzolni prozor da biste povezali svoj C# SMS kod sa SMS Gateway-em. Imajte na umu da 127.0.0.1 znači da SMS gateway radi na istom računaru gde se izvršava vaš C# SMS kod. 9580 je TCP/IP port koji SMS gateway koristi za prihvatanje C# SMS klijenata (OZX korisnika), a testuser i testpass su kredencijali koje smo definisali prilikom kreiranja OZX korisničkog naloga u koraku 6 ovog SMS tutorijala. (Slika 15)
Nakon što se povežete sa SMS gateway-em, spremni ste da pošaljete svoj prvi SMS svom C# API klijentu.
Korak 8 - Slanje test SMS poruke
Pošaljite test SMS poruku klikom na dugme "New" u alatnoj traci Ozeki u SMS Gateway konzoli za upravljanje. Prilikom slanja test SMS-a, moraćete da definišete adresu primaoca i tekst poruke. Na kartici "Advanced" takođe možete definisati ID pošiljaoca, kao što je alfanumerički server ID za vaš SMS. (Slika 16)
Kliknite OK da biste poslali test SMS. Vaš SMS gateway će vam pružiti događaje vezane za slanje SMS-a, i biće vam prikazan ID poruke. Možete primetiti GUID string u poslednjoj liniji Slike 17.
Nakon što je SMS poslat od strane admin korisnika, primljen je od strane OZX korisničkog naloga pod nazivom testuser. Ovaj korisnički nalog prosleđuje SMS C# SMS klijentu preko mreže. C# SMS klijent prima tekst preko TCP/IP veze uspostavljene metodom connect. Ako ste postavili tačku prekida u događaju OnMessageReceived, ovde će vaša tačka prekida pauzirati izvršavanje programa.
Korak 9 - Prijem SMS-a u C# konzoli
Pročitajte liniju sa primljenom porukom u C# konzoli. Videćete da je SMS poslat od strane admin@localhost na broj telefona +361111111. C# SMS API klijent je primio tekst 'Hello c sharp client' (Slika 18). Tekst poruke je predstavljen C# klijentu u obliku C# događaja. Rukovalac događaja OnMessageReceived se poziva kada se ovaj događaj pokrene, a poruka je postavljena u ulazni parametar metode OzMessageReceived.
Sledeća stvar koju želite da uradite je da pogledate log u SMS gateway-u.
Korak 10 - Pregled logova u SMS Gateway-u
Otvorite stranicu sa detaljima testuser-a klikom na link testuser u SMS Gateway kontrolnoj tabli Ozeki. Ovo će nas odvesti do loga događaja za testuser nalog. U ovom logu događaja očekujemo da vidimo komunikaciju koja se odvija između C# SMS klijenta i SMS Gateway-a. Takođe očekujemo da vidimo primljenu SMS poruku u logu komunikacije. (Slika 19)
Pronađite liniju "Received." u kartici događaja testuser-a. Videćete SMS primljen od strane C# SMS klijenta u ovoj liniji. Možete videti datum i vreme događaja, kao i detalje poruke. Ispod čitljivog log unosa, videćete log komunikacije OZX protokola. Ovaj log vam omogućava da debagujete komunikaciju u slučaju da se pojavi bilo kakav problem. (Slika 20)
Примите текстуалну поруку са мобилне мреже
У претходним корацима симулирали смо долазну поруку. Админ корисник је послао поруку која је прослеђена на C# SMS пример. Следећи корак је повезивање система са мобилном мрежом. За ово имате више опција. Можете се повезати са интернет SMS провајдером користећи Ozeki 10 SMS гејтвеј на ваш Android телефон и користити уграђену SMS везу Android SMS гејтвеја. (Слика 21)
Да бисте овај приступ омогућили са Android телефоном, све што треба да урадите јесте да направите долазну руту у Ozeki SMS рутирајућој табели. Потребно је да направите ову руту између везе са мобилном мрежом и C# SMS API корисника (testuser). Да бисте пронашли најбољи начин везе са мобилном мрежом за ваш пројекат, погледајте наш водич како да повежете ваш SMS гејтвеј са мобилном мрежом. (Слика 22)
Да резимирамо
Ово је био дугачак и веома детаљан списак упутстава који ће вам помоћи да започнете развој C# SMS пројекта који може да прима SMS поруке. Ако почнете да користите ово решење, убрзо ћете открити да је оно веома добро ако желите да примате SMS поруке брзо преко различитих веза са мобилном мрежом. Ово решење функционише било да желите да примате SMS преко Android мобилног телефона или преко IP SMS везе, као што је SMPP клијентска веза.
More information
- Kako poslati SMS iz C#
- Primanje SMS-a u C#
- C# SMS API povezivanje za slanje SMS-a
- C# SMS API - prekid veze sa SMS gateway-em
- C# SMS API - održavanje SMS veze
- C# SMS API - slanje tekstualne poruke
- C# SMS API - SMS prihvaćen za isporuku
- C# SMS API - SMS nije prihvaćen za isporuku
- C# SMS API - poslato
- C# SMS API - slanje nije uspelo
- C# SMS API - uspešan izveštaj o isporuci
- C# SMS API - izveštaj o neuspešnoj isporuci
- C# SMS API - alfanumerički ID pošiljaoca
- C# SMS API kako koristiti kratki kod kao ID pošiljaoca
- C# SMS API klasa za tekstualnu poruku