C# SMS API s popolno izvorno kodo

Če iščete zmogljivo orodje za razvijalce C#.Net, ki omogoča dodajanje možnosti pošiljanja in prejemanja SMS sporočil v aplikacije C#.Net, je C# SMS API, ki ga ponuja Ozeki SMS Gateway, najboljša izbira. To je najboljši C# SMS API leta 2025. Odličen je, ker je zelo učinkovit z viri in ponuja informacije o vaših poslanih sporočilih v obliki poročil o oddaji in poročil o dostavi veliko hitreje kot drugi SMS API-ji. Ta C# SMS API vam omogoča tudi načrtovanje SMS sporočil za prihodnjo dostavo in ga lahko uporabljate za pošiljanje in prejemanje SMS sporočil iz mobilnih telefonov brez zamud. Preberite ta članek, da izveste več o tej neverjetni rešitvi C# SMS in ugotovite, kako jo lahko izkoristite v svojem okolju.

Kaj je C# SMS API?

Ozeki C# SMS API je programska vmesnik, ki ga ponuja Ozeki SMS Gateway in omogoča pošiljanje in prejemanje SMS sporočil iz kode C#.Net. Ta vmesnik je mogoče uporabljati s knjižnico odjemalca C# SMS API z več računalnikov hkrati. (Slika 1) Knjižnico odjemalca C# SMS API lahko prenesete s te spletne strani.

c# sms api
Slika 1 - C# SMS API

Prenos knjižnice odjemalca C# SMS API

Knjižnico odjemalca C# SMS (izvorno kodo) lahko prenesete z naslednje povezave. Datoteka ZIP vsebuje projekt Visual Studio s popolno izvorno kodo. To kodo ali njene izpeljanke lahko prosto spreminjate, uporabljate in redistribuirate.

Prenos: OzekiConsole.zip (51 Kb)
URL: https://ozeki-sms-gateway.com/attachments/5755/OzekiConsole.zip

Kako deluje C# SMS API?

Z Ozeki C# SMS API lahko pošiljate in prejemate SMS sporočila veliko bolj učinkovito kot s tradicionalnimi rešitvami HTTP ali REST SMP API. To je mogoče, ker Ozeki C# SMS API vzpostavi in vzdržuje trajno povezavo TCP/IP z SMS prehodom in komunicira prek visoko optimiziranega protokola za SMS, imenovanega OZX. Ta način komunikacije zahteva manj virov v smislu procesorja, pomnilnika in pasovne širine omrežja kot drugi protokoli za SMS. Na primer, oddaja SMS sporočila v zahtevku HTTP REST API zahteva vsaj 10-krat več podatkov kot zahtevek OZX.

Najpomembnejša prednost izhaja iz trajne povezave TCP/IP. Zahvaljujoč tej trajni povezavi bo vaša aplikacija C# SMS takoj prejela poročila o oddaji in dostavi v obliki dogodkov C#. Prav tako boste prejemali dohodna SMS sporočila brez zamud. Brez takšne povezave bi morali bodisi anketirati SMS prehod, da bi pridobili poročila o dostavi ali prenesli dohodna SMS sporočila, bodisi vzpostaviti poslušalca TCP/IP ali spletno storitev in odpreti vrata požarnega zidu za prihod sporočil.

To povezavo TCP/IP je mogoče šifrirati z uporabo SSL/TLS in zlahka dodate preverjanje potrdil odjemalca in strežnika, da bo ta povezava C# SMS API izjemno varna.

Kako uporabljati C# SMS API:

  1. Prenesite Ozeki SMS Gateway
  2. Namestite povezavo za testiranje SMS
  3. Namestite uporabnika OZX
  4. Ustvarite uporabniško ime in geslo
  5. Omogočite beleženje komunikacije
  6. Odprite svoj projekt C# SMS v Visual Studiu
  7. Spremenite kodo C# z uporabniškim imenom in geslom
  8. Pošljite testno SMS sporočilo iz C#
  9. Preverite dnevnike v SMS prehodu
  10. Simulirajte dohodno SMS sporočilo s testno povezavo
  11. Izvedite test v živo s svojim Android telefonom
Video vadnica za C# SMS API (2 minuti)

Za hitro predstavo, kako nastaviti svoj SMS prehod za sprejemanje povezav C# SMS API in kako poslati prvo SMS sporočilo iz svoje aplikacije C#, si oglejte naslednji video. Ta video je dolg le 2 minuti in 21 sekund in je vreden časa. Video prikazuje, kako je mogoče v SMS prehodu ustvariti uporabnika OZX za sprejemanje odjemalcev C# SMS API, in kako lahko zaženete in uporabljate preneseno knjižnico odjemalca C# SMS API v Visual Studiu. Končni del vam pokaže, kako lahko pošljete testno SMS sporočilo.

Video 1 - Kako nastaviti svoj SMS prehod za sprejemanje povezav C# SMS API in poslati prvo SMS sporočilo iz svoje aplikacije C# (Video vadnica)

Zakaj je Ozeki C# SMS API boljši?

Ozeki C# SMS API je odličen, ker je količina podatkov, potrebnih za pošiljanje SMS sporočila, manjša, kodiranje in dekodiranje enote podatkov protokola (PDU) pa zahteva bistveno manj obremenitve procesorja. Če ga uporabljate, bo vaša rešitev porabila manj virov na vseh treh glavnih področjih: pomnilnik, procesor in pasovna širina omrežja. Posledično bodo vaše aplikacije delovale hitreje in postale bolj odzivne.

Kako lahko uporabljam C# SMS API?

Ozeki C# SMS API je niz razredov C#, ki vam omogočajo pošiljanje in prejemanje SMS sporočil. Uporabite ga lahko tako, da odprete preneseni projekt v Visual Studiu. Ko odprete projekt, boste videli, da je popolna koda napisana v C#.Net. Pošiljanje sporočil se izvaja s klici metod C#, dohodna sporočila pa prispejo v obliki dogodkov C#. Vaša aplikacija za SMS, ki jo zgradite na podlagi SMS API, bo lahko pošiljala SMS sporočila neposredno v mobilno omrežje z uporabo Android mobilnega telefona ali računalnika s povezavo IP SMS. Povezavo z mobilnim omrežjem bo zagotovil Ozeki SMS prehod, ki ga morate Linux računalnik. (Slika 2)

Kaj je c# sms api?
Slika 2 - Kako deluje C# SMS API

Koliko stane C# SMS API?

API je knjižnica, ki vam je na voljo brezplačno z licenco MIT. Lahko jo prosto spreminjate in distribuirate po svoji želji. Ko prenesete API, paket vsebuje primer konzolne aplikacije in celotno izvorno kodo Ozeki.Libs.OZX dll.

Edini strošek, ki ga morate plačati, je licenčnina za programsko opremo Ozeki SMS Gateway. Eden sam SMS gateway lahko služi več sto C# SMS odjemalcem prek omrežja. SMS gateway lahko namestite na več računalnikov, da povečate zmogljivost ali izkoristite ponudbe SMS lokalnih omrežij.

Kar zadeva stroške SMS, če pošiljate besedilna sporočila prek mobilnega telefona, priključenega na vaš računalnik, so stroški odvisni od tarif SMS za SIM kartico v vašem telefonu. V večini držav lahko pošiljate SMS sporočila brezplačno, če izberete to možnost. Obstaja pa omejitev: en sam mobilni telefon ne more poslati več kot 12000 SMS na dan. To zmogljivost lahko povečate s priključitvijo več mobilnih telefonov na vaš računalnik. Ko pošiljate SMS prek mobilnega telefona (Slika 2), morate namestiti programsko opremo Ozeki Android SMS gateway na svoj mobilni telefon in se nanj povezati prek Wifi-ja.

Če namestite Linux računalnik, lahko pošiljate SMS brezžično z GSM modemskim baznom, priključenim na računalnik. V teh primerih veljajo enake brezplačne SMS tarife, ker GSM modemi in GSM modemski bazni delujejo brezžično s SIM karticami.

Če potrebujete visokozmogljiv SMS gateway sistem na lastni infrastrukturi, kjer lahko pošiljate in prejemate več tisoč (ali milijon) sporočil, se morate povezati z spletnim ponudnikom SMS storitev. V tem primeru tarife SMS določa ponudnik SMS storitev, ki ga naročite. Opazite, da je vedno dobro povezati se z dvema ali več spletnimi ponudniki SMS storitev za odpornost na napake in možnost izkoriščanja usmerjanja po najnižjih stroških. Prav tako je dobro nastaviti varnostno brezžično povezavo.

Kako se povežem s SMS gatewayom?

Ko razvijate svojo C# SMS aplikacijo, boste verjetno uporabljali svoj prenosni računalnik. Visual Studio bo nameščen na vašem prenosnem računalniku. Ta prenosni računalnik se bo povezal z vašim pisarniškim lokalnim omrežjem (LAN) prek Wi-fi ali Ethernet povezave. Vaš Android mobilni telefon ali vaš Windows SMS Gateway sistem (Slika 3) se bo prav tako povezal s pisarniškim LAN omrežjem. Ko se povežete s SMS gatewayom, boste uporabili LAN IP naslov računalnika SMS Gateway.

Ozeki SMS Gateway nameščen na strežniku
Slika 3 - Ozeki SMS Gateway nameščen na strežniku

Za povezavo vaše C# aplikacije s SMS gatewayom boste potrebovali vedeti IP naslov in vrata (port) SMS gatewaya, uporabniško ime in geslo. IP naslov SMS gatewaya bo njegov LAN IP naslov. Ker je večino časa programska oprema SMS gateway nameščena na drugem računalniku kot vaš razvojni prenosni računalnik, bo ta IP naslov drugačen od IP naslova vašega prenosnika. Številka vrat je enostavna. Običajno je to privzeta številka vrat, ki je 9580. Za pridobitev uporabniškega imena in gesla morate ustvariti OZX uporabnika (Slika 4). Ko ustvarite OZX uporabnika, lahko določite poljubno uporabniško ime ali geslo.

Ko ugotovite IP naslov, številko vrat in ustvarite uporabniško ime in geslo, morate te podatke vnesti v metodo za povezavo vaše C# SMS aplikacije.

Slika 4 - Ustvarjanje OZX uporabnika za C# SMS API

Če ne želite uporabljati dveh računalnikov, lahko namestite SMS gateway na vaš prenosni računalnik (isti računalnik, kjer razvijate svojo C# aplikacijo). V tem primeru bi v metodi za povezavo navedli "127.0.0.1" kot IP naslov in vrata "9580". (Da, lahko uporabite tudi IPv6 naslove ali imena gostiteljev, kot je 'localhost")

Prednosti uporabe lastnega SMS Gatewaya

Brezplačno testiranje: Zelo koristno je upravljati svoj lasten SMS gateway, ker lahko svojo SMS aplikacijo testirate brezplačno. Lahko simulirate dohodna SMS sporočila, lahko pošiljate testna sporočila na testno povezavo SMS gatewaya in lahko simulirate poročila o dostavi SMS, ki kažejo uspešno in neuspešno dostavo. Dobro je prebrati vodič za SMPP simulator, če želite več informacij o testiranju.

Neomejeno testiranje zmogljivosti: Ko razvijete svojo SMS rešitev v C#, je verjetno, da boste želeli opraviti nekaj testiranja zmogljivosti. Z Ozeki SMS gatewayom je zelo enostavno testirati vaš sistem z veliko količino SMS sporočil. V večini primerov boste poslali le nekaj tisoč SMS, če pa vas stranka prosi, lahko celo opravite test z več milijoni sporočil. Oglejte si rezultate testiranja zmogljivosti SMS, ki smo jih izvedli z Ozeki SMS Gateway z 1 000 000 SMS.

Enostavno preklapljanje ponudnikov: Če razvijate svojo C# kodo, ki deluje z Ozeki SMS Gatewayom, vam ni treba skrbeti, da boste zaklenjeni v eno SMS omrežje ali enega ponudnika SMS storitev. Lahko uporabite isto C# kodo in preprosto preklopite na drugega ponudnika SMS storitev, če dobite boljšo ponudbo, tako da konfigurirate novo povezavo ponudnika v SMS gatewayu.

OZX pomeni OZeki eXchange. Je zelo optimiziran SMS protokol, uporabljen za komunikacijo med vašo C# SMS aplikacijo in Ozeki SMS Gateway. Je TCP/IP protokol, ki je bistveno bolj učinkovit od tradicionalnih SMS protokolov, kot so C# HTTP SMS API protokoli, C# REST SMS API protokoli ali SMPP SMS protokol. Učinkovitost izhaja iz dveh glavnih dejstev: ne prenaša se nepotrebnih podatkov (opazite, da sta tako http kot smpp zelo obremenjena z nepotrebnimi podatki), in zaradi strukture protokola PDU je možna lažja in bolj učinkovita obdelava protokola.

Zip datoteka vsebuje dva projekta (kot na Sliki 5): konzolno aplikacijo, ki je zelo enostavna za razumevanje kode, da vam pokaže, kako uporabljati C# SMS API, in vsebuje izvorno kodo C# SMS API-ja samega.

Vsebina paketa C# SMS API:

  • Primer kode (celotna izvorna koda)
  • Ozeki odjemalska knjižnica (celotna izvorna koda)

Slika 5 - Vsebina paketa C# SMS API

Za odpiranje Ozeki SMS API-ja morate po razširitvi paketa OzekiConsole.zip najti datoteko OzekiConsole.sln in jo odpreti v Visual Studiu. (Slika 6) Lahko dvokliknete na datoteko rešitve (.sln) ali jo najdete v Visual Studiu.

Slika 6 - Odprite OzekiConsole.sln

Ko odprete .sln, boste videli dva projekta v vaši rešitvi. Projekt OzekiConsole vsebuje primer kode, ki vam pokaže, kako lahko uporabite odjemalsko knjižnico C# SMS API za povezavo z SMS Gateway. (Slika 7) Drugi projekt je Ozeki.Libs.OZX dll projekt. Ta projekt vsebuje celotno izvorno kodo odjemalske knjižnice C# SMS API.

Slika 7 - C# SMS rešitev

Za uporabo C# SMS API-ja morate ustvariti uporabniško ime in geslo v vašem SMS gatewayu. Če ste namestili vaš SMS gateway na vašem Android telefonu, se morate prijaviti v telefon prek spletnega brskalnika. Če ste namestili vaš SMS gateway na Windows ali Linux, se preprosto povežite z njim prek brskalnika. Če še niste namestili vašega SMS gatewaya, ga nastavite zdaj z uporabo enega od naslednjih navodil: Kako nastaviti SMS Gateway na Windows, Kako nastaviti SMS gateway na Linux. (Slika 8)

kako uporabljati c# sms api
Slika 8 - Kako uporabljati C# SMS API

Za pošiljanje SMS-ov iz C# morate dodati ozekisms.dll kot referenco v vaš Visual Studio Solution. Lahko se odločite za dodajanje binarne dll datoteke ali projekta, ki vsebuje izvorno kodo. Če dodate binarno dll, se bo vaš projekt hitreje prevedel, če dodate izvorno kodo, boste imeli boljše možnosti za odpravljanje napak. (Slika 9)

Kako poslati SMS sporočilo iz C#
Slika 9 - Kako poslati besedilno sporočilo iz C#

Kako poslati SMS iz C#:

  1. Prenesite Ozeki C# SMS knjižnico (zip datoteko)
  2. Razširite zip datoteko
  3. Odprite Microsoft Visual Studio
  4. Ustvarite novo konzolno aplikacijo
  5. V Solution Explorerju kliknite "Add..."
  6. Izberite "Existing project"
  7. Poiščite OzekiSMSLibrary.csproj
  8. Kliknite Open
  9. Dodajte "Ozeki" namespace v vašo konzolno aplikacijo
  10. Kopirajte in prilepite primer
  11. Pošljite vaš prvi SMS z uporabo funkcije SendMessage

Za prejemanje SMS-ov v C# morate nastaviti vaš projekt na enak način, kot bi ga nastavili za pošiljanje SMS sporočila. Na kratko, prenesite ozekisms.dll kot binarno datoteko ali kot izvorno kodo in jo dodajte v vaš projekt kot referenčno knjižnico. Po tem lahko ustvarite instanco C# razreda in se naročite na dogodek, ki se pokliče, ko je SMS prejet. (Slika 10)

Kako prejeti SMS sporočilo v C#
Slika 10 - Kako prejeti SMS v C#

Kako prejeti SMS v C#:

  1. Prenesite Ozeki C# SMS knjižnico (zip datoteko)
  2. Odprite Microsoft Visual Studio
  3. Ustvarite novo konzolno aplikacijo ali odprite enega od vaših obstoječih projektov
  4. Dodajte C# SMS knjižnico v vašo C# rešitev
  5. Dodajte "Ozeki" namespace v vaš razred
  6. Ustvarite instanco razreda za sporočila
  7. Prijavite se na dogodek OnMessageReceived
  8. Napišite kodo za obdelavo dogodka
  9. Nastavite prekinitveno točko v obdelovalniku dogodkov
  10. Pošljite testno sporočilo
  11. Počakajte, da SMS doseže prekinitveno točko

Razumejte izvorno kodo C# SMS API-ja

//*********************************************************************
// Ozeki C# SMS API - v1.0.0
// Dokumentacija: https://ozeki-sms-gateway.com/p_5755-c-sharp-sms-api.html
//*********************************************************************

using System;
using OZX;

namespace OzekiConsoleClient
{
    class Program
    {
        static OzxClient Client;

        //*************************************************************
        // Glavni program
        //*************************************************************

        static void Main(string[] args)
        {
            createClient();
            printWelcome();

            string command = null;
            string parameters;

            while (command != "exit")
            {
                if (!_promptAvailable) printPrompt();
                readCommand(out command, out parameters);
                _promptAvailable = false;
                dispatchCommand(command, parameters);
            }
        }

        //*************************************************************
        // Branje naslednjega ukaza
        //*************************************************************
        static bool _promptAvailable;

        static void printPrompt()
        {
            Console.Write("> ");
            _promptAvailable = true;
        }

        static void readCommand(out string command, out string parameters)
        {
            command = Console.ReadLine();
            parameters = null;
            int paramSep = command.IndexOf(' ');
            if (paramSep > -1)
            {
                parameters = command.Substring(paramSep + 1);
                command = command.Substring(0, paramSep);
            }
        }

        static void dispatchCommand(string command, string parameters)
        {
            switch (command)
            {
                case "help":
                    printHelp();
                    break;
                case "exit":
                    Console.WriteLine("Hvala za uporabo Ozeki Clienta!");
                    break;
                case "connect":
                    connect(parameters);
                    break;
                case "disconnect":
                    disconnect();
                    break;
                case "send":
                    send(parameters);
                    break;
            }
        }

        //*************************************************************
        // Ukazi / Pozdravno sporočilo
        //*************************************************************

        static void printWelcome()
        {
            Console.WriteLine("**********************************");
            Console.WriteLine("* Dobrodošli v Ozeki Client v1.0.0 *");
            Console.WriteLine("**********************************");
            Console.WriteLine("Vnesite 'help' za seznam ukazov");
        }

        //*************************************************************
        // Ukazi / Pomoč
        //*************************************************************

        static void printHelp()
        {
            Console.WriteLine("**********************");
            Console.WriteLine("* Razpoložljivi ukazi *");
            Console.WriteLine("**********************");
            Console.WriteLine("help");
            Console.WriteLine("connect [gostitelj:vrata] [uporabniško ime] [geslo]");
            Console.WriteLine("disconnect");
            Console.WriteLine("send [prejemnik] [sporočilo]");
            Console.WriteLine("exit");
        }

        //*************************************************************
        // Ukazi / Povezava
        //*************************************************************

        static void connect(string parameters)
        {
            if (!parseConnectParameters(parameters, out string host, out int port, out string username, out string password, out string errormessage))
            {
                Console.WriteLine("Napaka. "+errormessage);
                Console.WriteLine("Sintaksa: connect [gostitelj:vrata] [uporabniško ime] [geslo]");
                Console.WriteLine("Primer: connect 127.0.0.1:9580 testuser testpass");
            }
            Console.WriteLine("Povezovanje z "+parameters+"...");
            Client.Connect(host, port, username, password);
        }

        static bool parseConnectParameters(string parameters, out string host, out int port, out string username, out string password, out string errormessage)
        {
            string[] parts = parameters.Split(' ');
            if (parts.Length < 3)
            {
                errormessage = "Connect zahteva 3 parametre.";
                username = null;
                password = null;
                host = null;
                port = 0;
                return false;
            }

            string hostandport = parts[0];
            username = parts[1];
            password = parts[2];

            string[] hostandportparts = hostandport.Split(':');
            if (hostandportparts.Length < 2)
            {
                errormessage = "Neveljaven gostitelj in vrata.";
                host = null;
                port = 0;
                return false;                
            }

            host = hostandportparts[0];
            string portstring = hostandportparts[1];

            if (!int.TryParse(portstring, out port))
            {
                errormessage = "Neveljavna številka vrat.";
                port = 0;
                return false;
            }

            errormessage = null;
            return true;
        }

        //*************************************************************
        // Ukazi / Prekinitev povezave
        //*************************************************************

        static void disconnect()
        {
            Client.Disconnect();
        }

        //*************************************************************
        // Ukazi / Pošiljanje
        //*************************************************************

        static void send(string parameters)
        {
            string[] parts = parameters.Split(new char[] { ' ' },2);
            if (parts.Length < 2)
            {
                Console.WriteLine("Napaka. Send zahteva 2 parametra.");
                Console.WriteLine("Sintaksa: send [prejemnik] [sporočilo]");
                Console.WriteLine("Primer: send +441234567 Pozdravljen svet");
                return;
            }

            string recipient = parts[0];
            string message = parts[1];

            var msg = new OzxMessage();
            msg.ToAddress = recipient;
            msg.Text = message;

            Console.WriteLine("Pošiljanje sporočila. ID: "+msg.ID);
            Client.Send(msg);
        }

        //*************************************************************
        // Ustvarjanje odjemalca
        //*************************************************************
        static void createClient()
        {
            Client = new OzxClient();
            Client.AutoReconnect = true;

            Client.OnMessageReceived += Client_OnMessageReceived;
            Client.OnMessageAcceptedForDelivery += Client_OnMessageAcceptedForDelivery;
            Client.OnMessageNotAcceptedForDelivery += Client_OnMessageNotAcceptedForDelivery;
            Client.OnMessageSubmitSuccess += Client_OnMessageSubmitSuccess;
            Client.OnMessageSubmitFailed += Client_OnMessageSubmitFailed;
            Client.OnMessageDeliverySuccess += Client_OnMessageDeliverySuccess;
            Client.OnMessageDeliveryFailed += Client_OnMessageDeliveryFailed;
            Client.OnMessageViewed += Client_OnMessageViewed;
            Client.OnConnected += Client_OnConnected;
            Client.OnDisconnected += Client_OnDisconnected;
        }

        //*************************************************************
        // Dogodki sporočil
        //*************************************************************

        static void Client_OnConnected(object sender, EventArgs e)
        {
            Console.WriteLine("Uspešno povezan.");
            printPrompt();
        }

        static void Client_OnDisconnected(object sender, OzxArgs< string > e)
        {
            Console.WriteLine("Povezava prekinjena. Razlog: " + e.Item.ToString());
            printPrompt();
        }

        static void Client_OnMessageReceived(object sender, OzxArgs< IOzxMessage > e)
        {
            Console.WriteLine("Sporočilo prejeto: " + e.Item.ToString());
            printPrompt();
        }

        static void Client_OnMessageAcceptedForDelivery(object sender, OzxArgs< string > e)
        {
            Console.WriteLine("Sporočilo sprejeto za dostavo. ID: " + e.Item.ToString());
            printPrompt();
        }

        static void Client_OnMessageNotAcceptedForDelivery(object sender, OzxArgs< string, string > e)
        {
            Console.WriteLine("Sporočilo zavrnjeno. ID: " + e.Item1.ToString()+" Razlog: "+e.Item2);
            printPrompt();
        }

        static void Client_OnMessageSubmitSuccess(object sender, OzxArgs< string, DateTime > e)
        {
            Console.WriteLine("Sporočilo poslano. ID: "+e.Item1+" Datum: "+e.Item2);
            printPrompt();
        }

        static void Client_OnMessageSubmitFailed(object sender, OzxArgs< string, DateTime, string > e)
        {
            Console.WriteLine("Pošiljanje sporočila ni uspelo. ID: " + e.Item1 + " Datum: " + e.Item2+" Razlog: "+e.Item3);
            printPrompt();
        }

        static void Client_OnMessageDeliverySuccess(object sender, OzxArgs< string, DateTime > e)
        {
            Console.WriteLine("Sporočilo dostavljeno. ID: " + e.Item1 + " Datum: " + e.Item2);
            printPrompt();
        }

        static void Client_OnMessageDeliveryFailed(object sender, OzxArgs< string, DateTime, string > e)
        {
            Console.WriteLine("Dostava sporočila ni uspela. ID: " + e.Item1 + " Datum: " + e.Item2 + " Razlog: " + e.Item3);
            printPrompt();
        }

        static void Client_OnMessageViewed(object sender, OzxArgs< string, DateTime > e)
        {
            Console.WriteLine("Sporočilo ogledano. ID: " + e.Item1 + " Datum: " + e.Item2);
            printPrompt();
        }
    }
}

Če se vaša SMS aplikacija ne more povezati s SMS prehodom, je možno, da ste v SMS odjemalcu vnesli napačen IP naslov ali številko vrat. Prav tako je možno, da požarni zid na SMS prehodu blokira povezavo.

Če želite preveriti, ali uporabljate pravilen IP naslov in vrata, odprite uporabniški vmesnik SMS prehoda. V orodni vrstici aplikacije SMS Gateway kliknite gumb Napredno. S tem se odpre stran s storitvami SMS prehoda. Na seznamu morate najti storitev OZX in klikniti na "Podrobnosti" (Slika 11)

Podrobnosti storitve OZX
Slika 11 - Podrobnosti storitve OZX

Ko se stran odpre, lahko IP naslov najdete v naslovni vrstici okna (Slika 12), številko vrat pa na levi strani konfiguracijskega obrazca. (Upoštevajte, da lahko to številko vrat spremenite tako, da odprete konfiguracijski obrazec storitve OZX.)

Poiščite gostitelja in vrata C# SMS API
Slika 12 - Poiščite gostitelja in vrata C# SMS API

Ko najdete IP naslov in vrata, se prepričajte, da te podatke uporabljate v vaši C# SMS aplikaciji. Na primer, če je bil IP naslov 192.168.93.192 in vrata 9580, morate te parametre vnesti v funkcijo za povezavo. (Slika 13)

Slika 13 - IP naslov in vrata C# SMS odjemalca

Te podatke lahko neposredno vpišete v vašo C# kodo. Na primer, lahko uporabite naslednjo funkcijo za vzpostavitev povezave z SMS prehodom na 192.168.93.192:9580 z uporabniškim imenom OZX tester in geslom test:

static void createClient()
{
    Client = new OzxClient();
    Client.AutoReconnect = true;
    Client.Connect("192.168.93.192", 9580, "testuser", "testpass");
}

Zaključne misli

Če povzamemo, C# SMS API vam omogoča povezavo z vašim SMS prehodom z uporabo protokola OZX. Ta SMS protokol ponuja odlično zmogljivost in dvosmerno SMS komunikacijo. Dejstvo, da vam brezplačna knjižnica C# SMS API, ki jo ponuja Ozeki, omogoča pošiljanje SMS sporočil s preprostimi klici metod in prejemanje poročil o oddaji in dostavi SMS v obliki C# dogodkov, naredi to možnost najboljšo možnost, če želite leta 2025 zgraditi C# SMS aplikacijo.

More information