SMS fogadása C# nyelven

Az alábbi útmutató bemutatja, hogyan kérheted le az SMS Gateway által fogadott üzeneteket egy C# alkalmazással. Ez a C# példa HTTP kéréseket használ az üzenetek lekéréséhez az SMS Gateway beérkezett üzenetei mappájából. Az SMS Gateway összegyűjti az összes fogadott üzenetet, és válaszként elküldi azokat a C# alkalmazásnak az HTTP kérésre. Az útmutató azt is bemutatja, hogyan használhatod az HTTP szerver kapcsolatot a bejövő üzenetek szimulálására. Az útmutató elvégzése nem vesz igénybe többet öt percnél, úgyhogy kezdjük is el most.

Mi az a C# SMS API?

A C# SMS API egy nagyszerű eszköz, amely lehetővé teszi SMS üzenetek küldését bármilyen C# alapú projektből vagy alkalmazásból HTTP kérések kezdeményezésével és továbbításával az SMS Gateway felé.

Előfeltételek

SMS fogadása C# nyelven

  • Nyisd meg a Visual Studio-t
  • Hozz létre egy új Console App projektet
  • Másold a C# példakódot erről az oldalról
  • Illeszd be a kódot a C# alkalmazásodba
  • Nyisd meg az Ozeki 10 SMS Gateway-t
  • Válaszd ki az HTTP Szerver kapcsolatot
  • Küldj teszt üzeneteket az HTTP Szerver kapcsolattal
  • Futtasd a C# alkalmazásod az összes bejövő üzenet lekéréséhez

1. videó - Hogyan fogadjunk SMS-t C# nyelven (Videó útmutató)

Az alábbi C# példakód képes összegyűjteni az összes bejövő üzenetet HTTP kérések segítségével. Ez a példakód szabadon felhasználható, módosíthatod és implementálhatod saját projektalkalmazásodba. Ha csak tesztelni szeretnéd a megoldást, kövesd az alábbi lépésről lépésre útmutatást, vagy nézd meg a fenti videót, amely bemutatja, hogyan használhatod ezt a C# példakódot.

using System;
using System.Net.Http;
using System.Xml;
using System.Threading.Tasks;

namespace ReceiveSMS
{
    class Program
    {
        static async Task Main(string[] args)
        {
            var username = "john";
            var password = "Xc3ffs";
            var httpUrl = "https://127.0.0.1:9508/";
            var folder = "inbox";
            var limit = "3";

            var sendString = $"{httpUrl}api?action=receivemessage&username=" +
                 $"{username}&password={password}&folder={folder}&limit=" +
                 $"{limit}&afterdownload=delete";

            Console.WriteLine("Sending request: " + sendString + "\n");

            var handler = new HttpClientHandler();
            handler.ServerCertificateCustomValidationCallback =
                (sender, cert, chain, sslPolicyErrors) => { return true; };

            using var client = new HttpClient(handler);

            try
            {
                var response = await client.GetStringAsync(sendString);
                Console.WriteLine("Http response received: ");
                DisplayMessages(response);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
        static void DisplayMessages(string response)
        {
            var xmlDoc = new XmlDocument();
            xmlDoc.LoadXml(response);
            var nodes = xmlDoc.SelectNodes("response/data/message");

            foreach (XmlNode node in nodes)
            {
                try
                {
                    var sender = node.SelectSingleNode("originator").InnerText;
                    var text = node.SelectSingleNode("messagedata").InnerText;
                    DisplayMessage(sender, text);
                }
                catch (System.NullReferenceException e)
                {
                    Console.WriteLine("The inbox is empty!");
                } 
            }
        }
        static void DisplayMessage(string sender, string text)
        {
            Console.WriteLine($"{sender}: {text}");
        }

    }
}

1. lépés - Nyisd meg a Visual Studio-t

Az útmutató első lépése egy C# alkalmazás létrehozása, ahova elhelyezheted az oldalról másolt példakódot. A legjobb eszköz C# alkalmazás létrehozásához a Visual Studio. Letöltheted az Előfeltételek részben, ha még nincs telepítve. Ha a Visual Studio már telepítve van a számítógépeden, egyszerűen nyisd meg az asztalodról, ahogyan az az 1. ábrán látható.

visual studio megnyitása
1. ábra - Visual Studio 2019 megnyitása

2. lépés - Hozz létre egy új projektet

Miután megnyitottad a Visual Studio-t, megjelenik az üdvözlő ablak. Ebből az ablakból megnyithatsz egy korábbi projektet, vagy létrehozhatsz egy teljesen újat. Ahogyan a 2. ábra mutatja, most egy új projekt létrehozását kell választanod, ezért egyszerűen válaszd ezt az opciót az ablakból.

új projekt létrehozása a visual studioban
2. ábra - Új projekt létrehozása a Visual Studioban

3. lépés - Válaszd ki a Console App-ot

Miután eldöntötted, hogy új projektet hozol létre, a következő ablak felsorolja az összes elérhető opciót, amelyek közül választhatsz egy új C# alkalmazás létrehozásához. Az útmutató követéséhez egyszerűen egy Console App-ot kell létrehoznod, ahogyan a 3. ábra mutatja, válaszd ki ezt az opciót, és kattints a 'Next' gombra.

console app kiválasztása
3. ábra - Console App kiválasztása

4. lépés - Konfiguráld a projektet

Mielőtt végül létrehoznád a Console App projektet, néhány konfigurációt el kell végezned a projekten. Ezek nagyon egyszerű konfigurációk; csak nevet kell adnod a projektnek, ahogyan a 4. ábra mutatja. Ebben az ablakban megadhatod a projektfájlok helyét is. Ha befejezted az összes konfigurációt, egyszerűen kattints a 'Create' gombra a Console App projekt létrehozásához.

projektnév konfigurálása
4. ábra - Projektnév konfigurálása

5. lépés - Helyezd el a példakódot a projektben

A létrehozott projekt egy C# fájlt tartalmaz, amely a Program.cs. Ez az a fájl, ahova el kell helyezned a példakódot. Ehhez egyszerűen görgess fel a példakódhoz, jelöld ki a teljes kódot, és nyomd meg a Ctrl+C billentyűkombinációt a billentyűzeteden. Ez a művelet másolta a kódot a vágólapodra. Ezután menj a Program.cs fájlhoz, töröld ki az ott található kódot, és ahogyan az 5. ábra mutatja, nyomd meg a Ctrl+V billentyűkombinációt a kód beillesztéséhez a fájlba.

kód cseréje a visual studioban
5. ábra - Kód cseréje a Visual Studioban

6. lépés - Szimulálj néhány bejövő üzenetet

A következő dolog, amit meg kell tenned, az, hogy vársz néhány bejövő üzenetre az SMS Gateway-edben. Ez eltarthat egy ideig, így választhatod azt az opciót, hogy szimulálsz néhány üzenetet az HTTP Szerver kapcsolat segítségével. Ahogyan a 6. ábra mutatja, egyszerűen nyisd meg az HTTP Szerver kapcsolat HTML űrlapját. Ez az űrlap lehetőséget biztosít néhány üzenet létrehozására. Csak írd be az 'Ozeki' szót címzettként, és írj valamilyen szöveget a 'MessageData' mezőbe. A teszt üzenet elküldéséhez egyszerűen kattints a 'Submit' gombra.

néhány bejövő sms szimulálása az ozeki tenben
6. ábra - Néhány bejövő SMS szimulálása az Ozeki 10-ben

7. lépés - Futtasd a C# példakódot

Az utolsó lépés, amit végre kell hajtanod, az a C# kód futtatása és a fogadott üzenetek lekérése. Ehhez egyszerűen kattints a 'Run' gombra a Visual Studioban, ahogyan a 7. ábra mutatja. Ezzel egy konzolablak jelenik meg, amely kiírja az alkalmazásod által küldött HTTP kérést. Emellett kiírja az SMS Gateway válaszüzenetét is, amely a beérkezett üzenetek mappájában található összes üzenet listája.

a kód futtatása sms fogadásához
7. ábra - A C# kód futtatása SMS fogadásához

Összegzés

Ez az oktatóanyag minden szükséges információt megadott arról, hogyan fogadhatsz SMS üzeneteket C# nyelven. Az üzenetek fogadása C# nyelven azt jelenti, hogy implementálhatsz egy üzenetfogadó funkcionalitást bármelyik C# projektbe. Ez egy sokoldalú és széles körben használt projekthez vezet. Ez a megoldás az Ozeki SMS Gateway körül forog, ami azt jelenti, hogy nyomon követheted az üzeneteket a rendszeren való áthaladásuk során, és könnyen észlelheted a hibákat az Ozeki SMS Gateway alacsony szintű naplózási képességeinek köszönhetően.

Ügyelj arra, hogy ne állj meg itt a tanulási folyamatban. Nézz körül nyugodtan más cikkek között az Ozeki weboldalán. Például kezd azzal, hogy hogyan küldj SMS üzeneteket C# nyelven HTTP GET használatával. Egy másik jó cikk, amelyből tanulhatsz, az, hogy hogyan szimulálj bejövő üzeneteket tesztelési célokra.

A következő lépés az, hogy letöltöd az Ozeki SMS Gateway-t és elkezded a fejlesztést most!

More information