Cum să primești SMS în C#
Acest articol oferă informații despre cum să primești SMS în C# cu ajutorul Ozeki C# SMS API. Acesta oferă câteva exemple de cod pe care le poți folosi și descrie pașii necesari. Pentru a completa pașii, ai nevoie de aproximativ 5 minute. Pe scurt, pentru a primi un SMS cu C# SMS API trebuie să te înscrii la evenimentul OnMessagesReceived și să scrii metoda de gestionare a evenimentului care va procesa SMS-ul primit trimis de Ozeki SMS gateway. Citește mai departe pentru a afla mai multe despre această procedură!
De ce ai vrea să primești SMS în C#?Există diverse motive pentru a primi SMS în C#. Poți dori să colectezi date de la senzori sau utilizatori mobili, poți crea servicii SMS care trimit un răspuns cu informații sau poți pur și simplu să le ceri utilizatorilor să confirme că au primit un SMS.
Cerințe preliminare- Ozeki SMS Gateway instalat
- Microsoft Visual Studio
- Exemplu de primire SMS în C# (OzekiConsole.zip)
- Descarcă exemplul de primire SMS în C#
- Deschide soluția în Visual Studio
- Conectează-te la Ozeki SMS Gateway
- Primește un SMS simulat în C#
- Conectează-te la rețeaua mobilă
- Primește un SMS în C# trimis de la un telefon mobil
- Verifică jurnalele în SMS gateway
- Verifică raportul de livrare pe telefonul tău mobil
Exemplul de cod C# pentru SMS de mai jos descrie cei mai importanți pași pentru a crea un serviciu de primire SMS. Ozeki C# SMS API este gratuit. Poți modifica biblioteca API, exemplele care vin cu ea și o poți folosi în proiectul tău și o poți redistribui liber sau derivatele sale. Următorul exemplu îți arată cum să te abonezi la evenimentul OnMessageReceived în C# și cum să gestionezi acest eveniment. Exemplul afișează mesajul SMS primit în consolă.
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("Mesaj primit: " + e.Item.ToString()); } }
Parametrul e.Item este un OzxMessage complet. Aceasta înseamnă că ai toate detaliile mesajelor SMS în evenimentul tău C# SMS API. Aceste detalii includ ID-ul expeditorului SMS, numărul de telefon la care a fost trimis SMS-ul, textul SMS-ului și marcajele de timp corespunzătoare.
Unul dintre cele mai mari avantaje ale utilizării Ozeki C# SMS API este că primești mesajele SMS instantaneu. De îndată ce ajung în SMS gateway, acestea sunt trimise către clientul tău C# SMS prin legătura TCP/IP stabilită. Aceasta înseamnă că nu vei experimenta nicio întârziere.
Dacă clientul tău C# SMS API nu este conectat la SMS gateway când SMS-ul este primit, SMS-ul este stocat în dosarul inbox al SMS gateway. Aceasta înseamnă că mesajele tale primite nu se vor pierde chiar dacă software-ul SMS pe care l-ai scris folosind C# SMS API este offline. Acest lucru se datorează faptului că Ozeki SMS Gateway este de fapt un server SMS.
Pasul 1 - Descarcă biblioteca Ozeki C# SMSNavighează la https://ozeki-sms-gateway.com/attachments/5755/OzekiConsole.zip și descarcă fișierul zip cu browserul tău. Fișierul zip va ajunge în directorul tău de descărcări (Figura 2). Poți deschide descărcarea direct în Windows Explorer. Pachetul zip descărcat va conține codul exemplu pe care îl poți folosi pentru a primi SMS în C#.
Extrage biblioteca C# SMS făcând clic dreapta pe fișierul OzekiConsole.zip (Figura 2). Acest lucru va deschide meniul contextual. În meniul contextual selectează "Extrage tot...". Acest lucru va afișa fereastra "Extrage", unde trebuie să faci clic pe Extrage.
Fă clic pe butonul "Extrage" în fereastra "Extrage tot" (Figura 3).
Deschide folderul OzekiConsole. Acest folder va apărea după ce ai extras pachetul OzekiConsol.zip. În folderul OzekiConsole dă dublu clic pe fișierul OzekiConsole.sln. Acest lucru va afișa fereastra "Cum doriți să deschideți acest fișier?". În această fereastră selectează "Visual Studio". După ce Visual Studio a fost selectat, fă clic pe OK pentru a deschide proiectul exemplu în C#. (Figura 4)
Pasul 4 - Faceți clic pe Program.cs
Deschideți Program.cs făcând clic pe fișier în exploratorul de soluții din partea stângă a ecranului. Acesta este codul principal al acestui exemplu de proiect C#. Acest cod conține exemple despre cum să trimiteți SMS din C# și despre cum să primiți SMS în C#. Codul nu este prea lung, are aproximativ 300 de linii. Acesta demonstrează funcționalitatea completă a API-ului SMS pentru C#. (Figura 5)
Găsiți gestionarul de evenimente OnMessageReceived și setați un punct de întrerupere pe linia de început a procedurii. Acest punct de întrerupere vă va oferi șansa de a captura evenimentul OnMessageReceived. Evenimentul OnMessageReceived este declanșat atunci când clientul dvs. SMS C# primește mesajul SMS de la gateway-ul SMS. (Figura 6)
Pentru a permite exemplului de API SMS C# să se conecteze la gateway-ul SMS, trebuie să creați un cont de utilizator OZX în gateway-ul SMS. Pentru a face acest lucru, navigați la consola de management a gateway-ului SMS deschizând URL-ul https://127.0.0.1:9515 și faceți clic pe linkul "Add new user/application" din partea dreaptă a ecranului. (Figura 7)
Linkul "Add new user/application" va afișa o listă de tipuri de utilizatori instalabili. Trebuie să găsiți contul de utilizator OZX în listă. Contul de utilizator OZX utilizează un protocol SMS foarte optimizat, care permite aplicației dvs. SMS C# să comunice cu gateway-ul SMS prin rețea. Deoarece gateway-ul SMS și clientul SMS C# comunică prin rețea, puteți primi un mesaj text în proiectul dvs. C# chiar dacă proiectul rulează pe un alt computer. (Figura 8)
Furnizați un nume de utilizator și o parolă. În exemplul nostru folosim testuser ca nume de utilizator și testpass ca parolă. Clientul SMS C# va folosi aceste credențiale pentru a se conecta la gateway-ul SMS. Dacă doriți mai multe conexiuni API SMS C#, puteți crea mai multe conturi de utilizator OZX. Fiecare cont de utilizator va găzdui propriul client API SMS C#. Pentru a decide care client SMS C# va primi un SMS primit, trebuie să creați rute de intrare în tabela de rutare SMS Ozeki. (Figura 9)
Activați opțiunile de jurnalizare pentru contul API SMS C# pentru a obține jurnale de comunicare. Recomand să bifați mai întâi toate casetele de jurnalizare, astfel încât să obțineți informații detaliate despre ce se întâmplă cu un mesaj. Dacă primiți un mesaj text, îl veți vedea apărând în jurnal înainte de a fi trimis către clientul dvs. SMS C#. (Figura 10)
Creați o nouă rută SMS pentru a permite utilizatorului admin să trimită mesaje SMS de test către clientul API SMS C#. Unul dintre cele mai bune lucruri despre utilizarea Ozeki SMS Gateway este că vă permite să gestionați mesajele SMS cu un tabel de rutare. Puteți configura diverse conexiuni la rețeaua mobilă și puteți decide care SMS va merge unde. În exemplul nostru, dorim să rutăm mesajele SMS care vin de la contul admin către clientul API SMS C#. Într-un sistem real, nu veți ruta SMS-uri de la contul admin, în schimb veți ruta mesajele SMS primite pe conexiuni la rețeaua mobilă către clientul dvs. API SMS C#.
Pentru a crea o nouă rută SMS, faceți clic pe Add new route în panoul de control Ozeki SMS Gateway (Figura 11).
Pentru a primi un mesaj text în timp ce scrieți codul dvs. SMS C#, veți folosi formularul de compunere al gateway-ului SMS și veți trimite SMS-ul ca utilizator admin. Ruta SMS pe care o vom crea va direcționa mesajele SMS care vin de la admin către contul testuser. Contul testuser va trimite SMS-ul către clientul SMS C# (Figura 12).
Selectați testuser ca destinație pentru mesajele SMS primite în formularul de detalii de rutare. Această rută va trimite mesajele SMS de la utilizatorul admin către testuser. Testuser va trimite mesajele SMS primite către clientul API C# (Figura 13).
Pasul 7 - Porniți proiectul exemplu C# sms
Pentru a începe proiectul dvs. C# sms, trebuie să faceți clic pe butonul Start din bara de instrumente Visual Studio. După ce faceți clic pe acest buton, Visual Studio va compila codul și îl va rula în mediul de dezvoltare. Execuția programului va fi oprită atunci când algoritmul ajunge la un punct de întrerupere. Deoarece exemplul nostru este o aplicație consolă, veți vedea fereastra neagră a consolei apărând odată ce execuția începe. (Figura 14)
Tastați help în fereastra consolei. Textul de ajutor va lista comenzile disponibile pentru dvs. în acest proiect exemplu. Prima comandă pe care o veți folosi este comanda connect. Tastați "connect 127.0.0.1:9580 testuser testpass" în fereastra consolei pentru a conecta codul dvs. C# sms la SMS Gateway. Rețineți că 127.0.0.1 înseamnă că SMS gateway rulează pe același PC unde rulează codul dvs. C# sms. 9580 este portul TCP/IP folosit de SMS gateway pentru a accepta clienți C# sms (utilizatori OZX), iar credentialele testuser și testpass sunt cele pe care le-am definit când am creat contul de utilizator OZX în pasul 6 al acestui tutorial sms. (Figura 15)
Odată ce v-ați conectat la SMS gateway, sunteți gata să trimiteți primul SMS către clientul dvs. C# api.
Pasul 8 - Trimiteți un SMS de test
Trimiteți un mesaj SMS de test făcând clic pe butonul "New" din bara de instrumente Ozeki în consola de gestionare SMS Gateway. Când trimiteți SMS-ul de test, va trebui să definiți o adresă de destinatar și textul mesajului. În fila Advanced, puteți defini și un ID expeditor, cum ar fi un alphanumeric server ID pentru SMS-ul dvs.. (Figura 16)
Faceți clic pe OK pentru a trimite SMS-ul de test. SMS gateway vă va furniza evenimentele legate de trimiterea SMS-ului și vi se va prezenta un ID mesaj. Puteți observa șirul GUID din ultima linie a Figurii 17.
După ce SMS-ul este trimis de utilizatorul admin, acesta este primit de contul de utilizator OZX numit testuser. Acest cont de utilizator transmite SMS-ul către clientul C# sms prin rețea. Clientul C# sms primește textul prin legătura TCP/IP stabilită de metoda connect. Dacă ați setat punctul de întrerupere în evenimentul OnMessageReceived, acesta este momentul în care punctul dvs. de întrerupere va întrerupe execuția programului.
Pasul 9 - Primirea SMS în consola C#
Citiți linia mesajului primit în consola C#. Veți vedea că SMS-ul a fost trimis de admin@localhost către numărul de telefon +361111111. Clientul C# sms api a primit textul 'Hello c sharp client' (Figura 18). Mesajul text a fost prezentat clientului C# sub forma unui eveniment C#. Handler-ul de eveniment OnMessageReceived este apelat atunci când acest eveniment este declanșat, iar mesajul a fost plasat în parametrul de intrare al metodei handler de eveniment OzMessageReceived.
Următorul lucru pe care doriți să-l faceți este să verificați jurnalul din SMS gateway.
Pasul 10 - Vizualizați jurnalele în SMS Gateway
Deschideți pagina de detalii a testuser făcând clic pe link-ul testuser în panoul de control Ozeki SMS Gateway. Acest lucru ne va duce la jurnalul de evenimente al contului testuser. În acest jurnal de evenimente ne așteptăm să vedem comunicarea care are loc între clientul C# sms și SMS Gateway. De asemenea, ne așteptăm să vedem mesajul SMS primit în jurnalul de comunicare. (Figura 19)
Localizați linia "Received." în fila de evenimente testuser. Veți vedea SMS-ul primit de clientul C# sms în această linie. Puteți vedea data și ora evenimentului și puteți vedea detaliile mesajului. Sub intrarea de jurnal ușor de citit, veți vedea jurnalul de comunicare al protocolului OZX. Acest jurnal vă permite să depanați comunicarea în cazul în care apare vreo problemă. (Figura 20)
Primirea unui mesaj text de la rețeaua mobilă
În pașii de mai sus am simulat un mesaj primit. Utilizatorul admin a trimis un mesaj care a fost transmis către exemplul C# de sms. Următorul pas este conectarea sistemului la rețeaua mobilă. Pentru aceasta aveți diverse opțiuni. Puteți să vă conectați la un furnizor de servicii SMS bazat pe internet folosind o Ozeki 10 SMS Gateway pe telefonul dvs. Android și să utilizați conexiunea SMS încorporată a SMS Gateway pentru Android. (Figura 21)
Pentru a face soluția de mai sus să funcționeze cu un telefon Android, tot ce trebuie să faceți este să creați o rută de intrare în Tabela de rutare SMS Ozeki. Trebuie să creați această rută între conexiunea la rețeaua mobilă și utilizatorul API SMS C# (testuser). Pentru a găsi cea mai bună metodă de conectare la rețeaua mobilă pentru proiectul dvs., consultați ghidul nostru cum să vă conectați SMS Gateway la rețeaua mobilă. (Figura 22)
Rezumând
Aceasta a fost o listă lungă și foarte detaliată de instrucțiuni pentru a vă ajuta să începeți dezvoltarea unui proiect C# SMS, care poate primi mesaje SMS. Dacă începeți să utilizați această soluție, veți descoperi rapid că această soluție este foarte bună dacă doriți să primiți mesaje SMS prompt prin diverse conexiuni la rețeaua mobilă. Această soluție funcționează indiferent dacă doriți să primiți SMS prin intermediul unui telefon mobil Android sau printr-o legătură SMS IP, cum ar fi o conexiune client SMPP.
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