Hogyan lehet SMS-t fogadni C#-ban
Ez a cikk információt nyújt arról, hogyan lehet SMS-t fogadni C#-ban az Ozeki SMS gateway küld. Olvass tovább, hogy többet megtudj erről a folyamatról!
Miért érdemes SMS-t fogadni C#-ban?
Az SMS fogadásának C#-ban számos oka lehet. Lehet, hogy adatokat szeretnél gyűjteni érzékelőktől vagy mobilfelhasználóktól, létrehozhatsz olyan SMS szolgáltatásokat, amelyek információval válaszolnak, vagy egyszerűen csak megerősítést kérhetsz a felhasználóktól, hogy megkapták az SMS-t.
Előfeltételek
- Ozeki SMS Gateway telepítve
- Microsoft Visual Studio
- C# SMS fogadási példa (OzekiConsole.zip)
Hogyan lehet SMS-t fogadni C#-ban (Gyors lépések)
Hogyan lehet SMS-t fogadni C#-ban- Töltsd le a C# SMS fogadási példát
- Nyisd meg a megoldást a Visual Studioban
- Kapcsolódj az Ozeki SMS Gateway-hez
- Fogadj egy szimulált SMS-t C#-ban
- Kapcsolódj a mobil hálózathoz
- Fogadj egy SMS-t C#-ban, amit mobillal küldtek
- Ellenőrizd a naplókat az SMS gateway-ben
- Ellenőrizd a kézbesítési jelentést a mobilodon
C# kódminta szöveges üzenetek fogadásához
Az alábbi C# SMS kódminta bemutatja a legfontosabb lépéseket egy SMS fogadó szolgáltatás létrehozásához. Az Ozeki C# SMS API ingyenesen használható. Módosíthatod az API könyvtárat, a mellékelt példákat, és felhasználhatod a saját projektjeidben, szabadon terjesztheted vagy származékait. Az alábbi példa bemutatja, hogyan iratkozhatsz fel az OnMessageReceived C# eseményre, és hogyan kezelheted ezt az eseményt. A példa a bejövő SMS üzenetet a konzolra írja ki.
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("Üzenet érkezett: " + e.Item.ToString()); } }
Az e.Item paraméter egy teljes OzxMessage. Ez azt jelenti, hogy a C# SMS API eseményben minden részlet megvan az SMS üzenetről. Ezek közé tartozik az SMS küldő azonosítója, a telefonszám, ahová az SMS-t küldték, az SMS szövege és a kapcsolódó időbélyegek.
Az Ozeki C# SMS API használatának egyik legnagyobb előnye, hogy a bejövő SMS üzenetek azonnal megérkeznek. Amint elérik az SMS gateway-t, továbbítják őket a C# SMS kliensnek a létesített TCP/IP kapcsolaton keresztül. Ez azt jelenti, hogy nem lesz késleltetés.
Ha a C# SMS API kliensed nincs csatlakoztatva az SMS gateway-hez, amikor az SMS megérkezik, az SMS az SMS gateway beérkező mappájában kerül tárolásra. Ez azt jelenti, hogy a bejövő üzeneteid nem vesznek el, még akkor sem, ha a C# SMS API-val írt SMS szoftver offline állapotban van. Ez annak köszönhető, hogy az Ozeki SMS Gateway valójában egy SMS szerver.
1. lépés - Töltsd le az Ozeki C# SMS könyvtárat
Látogass el a https://ozeki-sms-gateway.com/attachments/5755/OzekiConsole.zip címre, és töltsd le a zip fájlt a böngésződdel. A zip fájl a Letöltések mappádba kerül (2. ábra). Közvetlenül megnyithatod a letöltést a Windows Explorerben. A letöltött zip csomag tartalmazza a példakódot, amellyel SMS-t fogadhatsz C#-ban.
2. lépés - Csomagold ki a C# SMS könyvtárat
Csomagold ki a C# SMS könyvtárat a jobb egérgombbal kattintva az OzekiConsole.zip fájlra (2. ábra). Ez megnyitja a helyi menüt. A helyi menüben válaszd a "Kicsomagolás..." lehetőséget. Ez megnyitja a "Kicsomagolás" párbeszédablakot, ahol a Kicsomagolás gombra kell kattintanod.
Kattints a "Kicsomagolás" gombra a "Kicsomagolás" párbeszédablakban (3. ábra).
3. lépés - Nyisd meg a projektet a Visual Studioban
Nyisd meg az OzekiConsole mappát. Ez a mappa akkor jelenik meg, miután kicsomagoltad az OzekiConsole.zip csomagot. Az OzekiConsole mappában kattints duplán az OzekiConsole.sln fájlra. Ez megnyitja a "Hogyan szeretnéd megnyitni ezt a fájlt?" párbeszédablakot. Ebben a párbeszédablakban válaszd a "Visual Studio" lehetőséget. Miután kiválasztottad a Visual Studio-t, kattints az OK gombra a C# példaprojekt megnyitásához. (4. ábra)
4. lépés - Kattints a Program.cs-re
Nyisd meg a Program.cs fájlt a megoldáskezelőben a képernyő bal oldalán található fájlra kattintva. Ez a példa C# projekt fő kódja. Ez a kód tartalmaz példákat arra, hogyan lehet SMS-t küldeni C#-ból és hogyan lehet SMS-t fogadni C#-ban. A kód nem túl hosszú, körülbelül 300 sor. Bemutatja a C# SMS API teljes funkcionalitását. (5. ábra)
5. lépés - Állíts be egy töréspontot az SMS fogadó kódban
Találd meg az OnMessageReceived eseménykezelőt, és állíts be egy töréspontot az eljárás kezdősorán. Ez a töréspont lehetőséget ad az OnMessageReceived esemény elkapására. Az OnMessageReceived esemény akkor aktiválódik, amikor a C# SMS kliensed fogad egy SMS üzenetet az SMS gateway-től. (6. ábra)
6. lépés - Hozz létre egy OZX felhasználói fiókot az SMS API-hoz
Ahhoz, hogy a C# SMS API példa kapcsolódhasson az SMS gateway-hez, létre kell hoznod egy OZX felhasználói fiókot az SMS gateway-ben. Ehhez látogass el az SMS gateway kezelőfelületére a https://127.0.0.1:9515 URL megnyitásával, és kattints a "Új felhasználó/alkalmazás hozzáadása" hivatkozásra a képernyő jobb oldalán. (7. ábra)
Az "Új felhasználó/alkalmazás hozzáadása" hivatkozás megnyitja az telepíthető felhasználói típusok listáját. Az OZX felhasználói fiókot kell megtalálnod a listában. Az OZX felhasználói fiók egy nagyon optimalizált SMS protokollt használ, amely lehetővé teszi, hogy a C# SMS alkalmazásod hálózaton keresztül kommunikáljon az SMS gateway-vel. Mivel az SMS gateway és a C# SMS kliens hálózaton keresztül kommunikál, szöveges üzeneteket fogadhatsz a C# projektben, még akkor is, ha a projekt egy másik számítógépen fut. (8. ábra)
Adj meg egy felhasználónevet és jelszót. A példánkban a testuser a felhasználónév, a testpass pedig a jelszó. A C# SMS kliens ezeket a hitelesítő adatokat használja az SMS gateway-hez való kapcsolódáshoz. Ha több C# SMS API kapcsolatot szeretnél, több OZX felhasználói fiókot is létrehozhatsz. Minden felhasználói fiók saját C# SMS API klienst fog üzemeltetni. Annak eldöntéséhez, hogy melyik C# SMS kliens fogadja a bejövő SMS-t, bejövő útvonalakat kell létrehoznod az Ozeki SMS útválasztási táblában. (9. ábra)
Engedélyezd a naplózási lehetőségeket a C# SMS API fiókhoz a kommunikációs naplók megtekintéséhez. Javaslom, hogy először jelöld be az összes naplózási jelölőnégyzetet, így részletes információt kapsz arról, mi történik egy üzenettel. Ha szöveges üzenetet fogadsz, a naplóban látni fogod, mielőtt továbbítódik a C# SMS kliensednek. (10. ábra)
6. lépés - Adj hozzá új útvonalat a bejövő SMS szimulálásához
Hozz létre egy új SMS útvonalat, hogy az admin felhasználó teszt SMS üzeneteket küldhessen a C# SMS API kliensnek. Az Ozeki SMS Gateway használatának egyik legjobb dolga, hogy lehetővé teszi az SMS üzenetek kezelését egy útválasztási táblával. Beállíthatsz különböző mobilhálózati kapcsolatokat, és eldöntheted, hogy melyik SMS hova menjen. A példánkban az admin fióktól érkező SMS üzeneteket szeretnénk továbbítani a C# SMS API kliensnek. Egy valódi rendszerben nem az admin fióktól érkező SMS-eket fogod továbbítani, hanem a mobilhálózati kapcsolatokon érkező SMS-eket a C# SMS API kliensednek.
Új SMS útvonal létrehozásához kattints az "Új útvonal hozzáadása" lehetőségre az Ozeki SMS Gateway irányítópultján (11. ábra).
Ahhoz, hogy szöveges üzenetet fogadj, miközben írod a C# SMS kódodat, az SMS gateway összeállító űrlapját fogod használni, és admin felhasználóként fogod elküldeni az SMS-t. Az útvonal, amit létrehozunk, az admin felhasználótól érkező SMS-eket továbbítja a testuser fióknak. A testuser fiók továbbítja az SMS-t a C# SMS kliensnek (12. ábra).
Válaszd ki a testuser-t a bejövő SMS üzenetek céljaként az útvonal részletei űrlapon. Ez az útvonal az admin felhasználótól érkező SMS-eket továbbítja a testuser felhasználónak. A testuser továbbítja a fogadott SMS üzeneteket a C# API kliensnek (13. ábra).
7. lépés - Indítsd el a C# SMS példaprojektet
A C# SMS projekt elindításához kattints az Indítás gombra a Visual Studio eszköztárán. A gombra kattintás után a Visual Studio lefordítja a kódot, és futtatja a fejlesztői környezetben. A program végrehajtása leáll, amikor az algoritmus eléri a töréspontot. Mivel a példánk egy konzolalkalmazás, a fekete konzolablak megjelenik, amint a végrehajtás elindul. (14. ábra)
Írd be a help parancsot a konzolablakba. A súgószöveg felsorolja az elérhető parancsokat ebben a példaprojektben. Az első parancs, amit használni fogsz, a connect parancs. Írd be a "connect 127.0.0.1:9580 testuser testpass" parancsot a konzolablakba, hogy csatlakoztassad a C# SMS kódodat az SMS Gateway-hez. Figyelj arra, hogy a 127.0.0.1 azt jelenti, hogy az SMS gateway ugyanazon a számítógépen fut, ahol a C# SMS kódod is fut. A 9580 a TCP/IP port, amelyet az SMS gateway használ a C# SMS kliensek (OZX felhasználók) fogadásához, a testuser és testpass hitelesítő adatok pedig azok, amelyeket a 6. lépésben definiáltunk, amikor létrehoztuk az OZX felhasználói fiókot ebben az SMS oktatóanyagban. (15. ábra)
Miután csatlakoztál az SMS gateway-hez, készen állsz az első SMS elküldésére a C# API kliensednek.
8. lépés - Küldj egy teszt SMS-t
Küldj egy teszt SMS üzenetet az "Új" eszköztárgombbal az Ozeki eszköztárban az SMS Gateway kezelőfelületén. Amikor elküldöd a teszt SMS-t, meg kell adnod egy címzett címet és az üzenet szövegét. A Speciális lapon megadhatsz egy küldő azonosítót is, például egy alfanumerikus küldő azonosítót az SMS-hez. (16. ábra)
Kattints az OK gombra a teszt SMS elküldéséhez. Az SMS gateway információt nyújt az SMS beküldésével kapcsolatos eseményekről, és megkapod az Üzenet AZ-t. Észreveheted a GUID karakterláncot a 17. ábra utolsó sorában.
Miután az admin felhasználó elküldte az SMS-t, a testuser nevű OZX felhasználói fiók fogadja. Ez a felhasználói fiók továbbítja az SMS-t a C# SMS kliensnek a hálózaton keresztül. A C# SMS kliens a connect metódus által létesített TCP/IP kapcsolaton keresztül fogadja a szöveget. Ha beállítottad a töréspontot az OnMessageReceived eseményben, ekkor fog leállni a program végrehajtása.
9. lépés - Fogadd az SMS-t a C# konzolban
Olvasd el az "Üzenet érkezett" sort a C# konzolban. Látni fogod, hogy az SMS-t a admin@localhost küldte a +361111111 telefonszámra. A C# SMS API kliens fogadta a "Hello c sharp client" szöveget (18. ábra). A szöveges üzenetet C# esemény formájában kapta meg a C# kliens. Az OnMessageReceived eseménykezelőt akkor hívják meg, amikor ez az esemény bekövetkezik, és az üzenet az OzMessageReceived eseménykezelő metódus bemeneti paraméterébe kerül.
A következő dolog, amit meg akarsz tenni, hogy megnézed a naplókat az SMS gateway-ben.
10. lépés - Nézd meg a naplókat az SMS Gateway-ben
Nyisd meg a testuser részletek oldalát a testuser hivatkozásra kattintva az Ozeki SMS Gateway irányítópultján. Ez elvezet minket a testuser fiók eseménynaplójához. Ebben az eseménynaplóban azt várjuk, hogy lássuk a C# SMS kliens és az SMS Gateway közötti kommunikációt. Azt is várjuk, hogy lássuk a fogadott SMS üzenetet a kommunikációs naplóban. (19. ábra)
Keressd meg a "Fogadva." sort a testuser események lapján. Ebben a sorban látni fogod az SMS-t, amit a C# SMS kliens fogadott. Látod az esemény dátumát és időpontját, valamint az üzenet részleteit. Az ember által olvasható naplóbejegyzés alatt láthatod az OZX protokoll kommunikációs naplóját. Ez a napló lehetővé teszi a kommunikáció hibakeresését, ha bármilyen probléma merül fel. (20. ábra)
Fogadj szöveges üzenetet a mobilhálózatról
A fenti lépésekben szimuláltunk egy bejövő üzenetet. Az admin felhasználó küldött egy üzenetet, ami továbbítódott a C# SMS példának. A következő lépés a rendszer csatlakoztatása a mobilhálózathoz. Ehhez számos lehetőséged van. Csatlakozhatsz egy internetalapú SMS szolgáltatóhoz egy Android SMS gateway-ben. (21. ábra)