C# SMS API s potpunim izvornim kodom

Ako tražite moćan alat za C#.Net programere kako biste dodali mogućnost slanja i primanja SMS poruka u C#.Net aplikacije, C# SMS API koji nudi Ozeki SMS Gateway je najbolja opcija. Ovo je najbolji C# SMS API u 2025. godini. Izvrstan je jer je vrlo učinkovit u korištenju resursa i pruža informacije o vašim poslanim porukama u obliku izvješća o slanju i izvješća o isporuci puno brže od drugih SMS API-ja. Ovaj C# SMS API također vam omogućuje planiranje SMS poruka za buduću isporuku, a možete ga koristiti i za slanje i primanje SMS poruka s mobilnih telefona bez kašnjenja. Pročitajte ovaj članak kako biste saznali više o ovom nevjerojatnom C# SMS rješenju i kako ga možete iskoristiti u svom okruženju.

Što je C# SMS API?

Ozeki C# SMS API je softversko sučelje koje nudi Ozeki SMS Gateway i koje vam omogućuje slanje i primanje SMS poruka iz C#.Net koda. Ovo sučelje može se koristiti s C# SMS API klijentskom bibliotekom s više računala istovremeno. (Slika 1) C# SMS API klijentsku biblioteku možete preuzeti s ove web stranice.

c# sms api
Slika 1 - C# SMS API

Preuzimanje C# SMS API klijentske biblioteke

C# SMS klijent (izvorni kod) možete preuzeti s sljedeće poveznice. ZIP datoteka sadrži Visual Studio projekt s potpunim izvornim kodom. Slobodno možete mijenjati, koristiti i redistribuirati ovaj kod ili njegove izvedenice.

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

Kako radi C# SMS API?

S Ozeki C# SMS API-om možete slati SMS poruke, primati SMS poruke puno učinkovitije nego s tradicionalnim HTTP ili REST SMP API rješenjima. To možete učiniti jer Ozeki C# SMS API stvara i održava trajnu TCP/IP vezu s SMS pristupnikom i komunicira preko visoko optimiziranog SMS protokola nazvanog OZX. Ova metoda komunikacije zahtijeva manje resursa u smislu CPU-a, memorije i mrežne propusnosti od drugih SMS protokola. Na primjer, slanje SMS poruke u HTTP REST API zahtjevu zahtijeva najmanje 10 puta više podataka nego OZX zahtjev za slanje.

Najvažnija prednost dolazi od trajne TCP/IP veze. Zahvaljujući ovoj trajnoj vezi, vaša C# SMS aplikacija će primati trenutna izvješća o slanju i isporuci u obliku C# događaja. Također ćete primati dolazne SMS poruke bez ikakvih kašnjenja. Bez takve veze, morali biste ili provjeravati SMS pristupnik kako biste dobili izvješća o isporuci ili preuzeli dolazne SMS poruke, ili biste morali postaviti TCP/IP slušatelja ili web uslugu i otvoriti vatrozidni port kako bi poruke mogle stići.

Ova TCP/IP veza može se šifrirati pomoću SSL/TLS-a i lako možete dodati provjeru valjanosti klijentskog i serverskog certifikata kako biste ovu C# SMS API vezu učinili iznimno sigurnom.

Kako koristiti C# SMS API:

  1. Preuzmite Ozeki SMS Gateway
  2. Instalirajte SMS tester vezu
  3. Instalirajte OZX korisnika
  4. Kreirajte korisničko ime i lozinku
  5. Omogućite bilježenje komunikacije
  6. Otvorite svoj C# SMS projekt u Visual Studiju
  7. Izmijenite C# kod s korisničkim imenom i lozinkom
  8. Pošaljite testni SMS iz C#-a
  9. Provjerite zapisnike u SMS pristupniku
  10. Simulirajte dolazni SMS s testnom vezom
  11. Napravite live test sa svojim Android telefonom

Video tutorial za C# SMS API (2 minute)

Da biste brzo dobili ideju kako postaviti svoj SMS pristupnik za prihvaćanje C# SMS API veza i kako poslati svoj prvi SMS iz svoje C# aplikacije, pogledajte sljedeći video. Ovaj video traje samo 2 minute i 21 sekundu, i vrijedi vremena. Video pokazuje kako se OZX korisnik može kreirati u SMS pristupniku za prihvaćanje C# SMS API klijenata i kako možete pokrenuti i pokrenuti preuzetu C# SMS API klijentsku biblioteku u Visual Studiju. Završni dio pokazuje kako možete poslati testni SMS.

Video 1 - Kako postaviti svoj SMS pristupnik za prihvaćanje C# SMS API veza i poslati svoj prvi SMS iz svoje C# aplikacije (Video tutorial)

Zašto je Ozeki C# SMS API bolji?

Ozeki C# SMS API je izvrstan jer je količina podataka potrebnih za slanje SMS-a manja, a kodiranje i dekodiranje Protocol Data Unit (PDU) ima znatno manje opterećenje CPU-a. Ako ga koristite, vaše rješenje će trošiti manje resursa u sva tri glavna područja: memorija, CPU i mrežna propusnost. Kao rezultat toga, vaše aplikacije će djelovati brže i postati responzivnije.

Kako mogu koristiti C# SMS API?

Ozeki C# SMS API je skup C# klasa koje vam omogućuju slanje i primanje SMS poruka. Možete ga koristiti tako da otvorite preuzeti projekt u Visual Studiju. Nakon što otvorite projekt, vidjet ćete da je cijeli kod napisan u C#.Net-u. Slanje poruka se obavlja pomoću C# poziva metoda, a dolazne poruke stižu u obliku C# događaja. Vaša SMS aplikacija, koju izgradite na temelju SMS API-ja, moći će slati SMS poruke izravno u mobilnu mrežu koristeći Android mobilni telefon ili računalo s IP SMS vezom. Veza s mobilnom mrežom bit će osigurana od strane Ozeki SMS pristupnika, koji trebate Linux računalo. (Slika 2)

Što je c# sms api?
Slika 2 - Kako radi C# SMS API

Koliko košta C# SMS API?

API je biblioteka koja vam se pruža besplatno, s MIT licencom. Možete je slobodno mijenjati i distribuirati kako želite. Kada preuzmete API, paket sadrži primjer konzolne aplikacije i cijeli izvorni kod Ozeki.Libs.OZX dll.

Jedini trošak koji morate platiti je naknada za licencu za Ozeki SMS Gateway softver. Jedan SMS gateway može se koristiti za opsluživanje nekoliko stotina C# SMS klijenata preko mreže. Možete instalirati SMS gateway na više računala kako biste povećali kapacitet ili iskoristili SMS ponude lokalnih mreža.

Što se tiče troškova SMS-a, ako šaljete tekstualne poruke putem mobilnog telefona spojenog na vaše računalo, trošak ovisi o SMS tarifama SIM kartice u vašem telefonu. U većini zemalja, možete slati SMS poruke besplatno ako odaberete ovu opciju. Međutim, postoji ograničenje: jedan mobilni telefon ne može poslati više od 12000 SMS poruka dnevno. Ovaj kapacitet možete povećati samo spajanjem više mobilnih telefona na vaše računalo. Kada šaljete SMS putem svog mobilnog telefona (Slika 2), morate instalirati Ozeki Android SMS gateway softver na svoj mobilni telefon i morate se spojiti na njega putem Wifija.

Ako instalirate Linux računalo, možete slati SMS bežično s GSM modem poolom spojenim na računalo. U tim slučajevima, primjenjuju se iste besplatne SMS tarife jer GSM modemi i GSM modem poolovi rade bežično s SIM karticama.

Ako vam je potreban visokokvalitetni on-premises SMS gateway sustav, gdje se može poslati i primiti nekoliko tisuća (ili milijuna) poruka, morate se povezati s on-line SMS usluga davatelja usluga. U tom slučaju SMS tarife postavlja SMS usluga na koju ste pretplaćeni. Imajte na umu da je uvijek dobra ideja spojiti se na dvije ili više on-line SMS usluga kako biste bili otporni na greške i kako biste mogli iskoristiti opcije usmjeravanja s najnižim troškovima. Također je dobra ideja postaviti bežičnu vezu za sigurnosnu kopiju.

Kako se povezati s SMS gatewayom?

Kada razvijate svoju C# SMS aplikaciju, vjerojatno ćete koristiti svoj laptop. Visual Studio će biti instaliran na vašem laptopu. Ovaj laptop će se spojiti na vašu uredsku lokalnu mrežu (LAN) putem Wi-fi-a ili Ethernet veze. Vaš Android mobilni telefon ili vaš Windows SMS Gateway sustav (Slika 3) također će se spojiti na uredsku LAN mrežu. Kada se povežete s SMS gatewayom, koristit ćete LAN IP adresu računala s SMS gatewayom.

Ozeki SMS Gateway instaliran na poslužitelju
Slika 3 - Ozeki SMS Gateway instaliran na poslužitelju

Da biste povezali svoju C# aplikaciju s SMS gatewayom, morat ćete znati IP adresu i broj porta SMS gatewaya, te će vam trebati korisničko ime i lozinka. IP adresa SMS gatewaya bit će njegova LAN IP adresa. Budući da će većinu vremena SMS gateway softver biti instaliran na drugom računalu od vašeg razvojnog laptopa, ova IP adresa bit će različita od IP adrese vašeg laptopa. Broj porta je jednostavan. Obično je to zadani broj porta, a to je 9580. Da biste dobili korisničko ime i lozinku, morate stvoriti OZX korisnika (Slika 4). Kada stvorite OZX korisnika, možete odrediti bilo koje korisničko ime ili lozinku koja vam se sviđa.

Nakon što ste saznali IP adresu, broj porta i stvorili korisničko ime i lozinku, morate unijeti te podatke u metodu za povezivanje vaše C# SMS aplikacije.

Slika 4 - Stvaranje OZX korisnika za C# SMS API

Ako ne želite koristiti dva računala, možete instalirati SMS gateway na svoj laptop (isto računalo na kojem razvijate svoju C# aplikaciju). U tom slučaju, unijeli biste "127.0.0.1" kao IP adresu i port "9580" u metodu za povezivanje. (Da, možete koristiti i IPv6 adrese ili hostnameove, kao što je 'localhost")

Prednosti korištenja vlastitog SMS Gatewaya

Besplatno testiranje: Vrlo je korisno upravljati vlastitim SMS gatewayom, jer možete testirati svoju SMS aplikaciju besplatno. Možete simulirati dolazne SMS poruke, možete slati testne poruke na testnu vezu SMS gatewaya i možete simulirati izvješća o isporuci SMS-a koja ukazuju na uspješnu i neuspješnu isporuku. Dobra je ideja pročitati vodič za SMPP simulator kako biste dobili više informacija o testiranju.

Neograničeno testiranje performansi: Nakon što ste razvili svoje SMS rješenje u C#, vjerojatno ćete htjeti izvesti neka testiranja performansi. S Ozeki SMS gatewayom vrlo je lako testirati svoj sustav s velikim volumenom SMS poruka. U većini slučajeva, poslat ćete samo nekoliko tisuća SMS poruka, ali ako vas klijent zamoli, možete čak izvesti test s nekoliko milijuna poruka. Pogledajte rezultate testiranja performansi SMS-a koje smo proveli s Ozeki SMS Gatewayom s 1 000 000 SMS poruka.

Lako prebacivanje davatelja usluga: Ako razvijate svoj C# kod koji radi s Ozeki SMS gatewayom, nećete morati brinuti o tome da budete vezani za jednu SMS mrežu ili jednog davatelja SMS usluga. Možete koristiti isti C# kod i jednostavno prebaciti se na drugog davatelja SMS usluga ako dobijete bolju ponudu konfiguriranjem veze novog davatelja usluga u SMS gatewayu.

Što je OZX?

OZX je skraćenica za OZeki eXchange. To je visoko optimizirani SMS protokol koji se koristi za komunikaciju između vaše C# SMS aplikacije i Ozeki SMS pristupnika. To je TCP/IP protokol koji je znatno učinkovitiji od tradicionalnih SMS protokola, kao što su C# HTTP SMS API protokoli, C# REST SMS API protokoli ili SMPP SMS protokol. Učinkovitost dolazi iz dvije glavne činjenice: ne prenosi se nepotrebna podatkovna opterećenja (imajte na umu da postoji veliko opterećenje podacima i u http i u smpp), i lakša, učinkovitija obrada protokola je moguća zahvaljujući strukturi protokola PDU.

Što sadrži C# SMS API zip datoteka?

Zip datoteka sadrži dva projekta (kao na slici 5): konzolnu aplikaciju koja je vrlo jednostavan kod koji vam pokazuje kako koristiti C# SMS API, te izvorni kod samog C# SMS API-ja.

Sadržaj C# SMS API paketa:

  • Primjer koda (potpuni izvorni kod)
  • Ozeki klijentska knjižnica (potpuni izvorni kod)

Slika 5 - Sadržaj C# SMS API paketa

Kako otvoriti C# SMS API .sln rješenje?

Da biste otvorili Ozeki SMS API, potrebno je locirati datoteku OzekiConsole.sln nakon dekompresije OzekiConsole.zip paketa, te tu datoteku otvoriti u Visual Studiju. (Slika 6) Možete dvaput kliknuti na datoteku rješenja (.sln) ili je možete pronaći u Visual Studiju.

Slika 6 - Otvaranje OzekiConsole.sln

Nakon što ste otvorili .sln, vidjet ćete dva projekta u vašem rješenju. OzekiConsole projekt sadrži primjer koda koji vam pokazuje kako možete koristiti C# SMS API klijentsku knjižnicu za povezivanje s SMS pristupnikom. (Slika 7) Drugi projekt je Ozeki.Libs.OZX dll projekt. Ovaj projekt sadrži potpuni izvorni kod C# SMS API klijentske knjižnice.

Slika 7 - C# SMS rješenje

Kako se prijaviti u SMS pristupnik s C# SMS API-jem

Da biste koristili C# SMS API, potrebno je kreirati korisničko ime i lozinku u vašem SMS pristupniku. Ako ste instalirali svoj SMS pristupnik na Android telefonu, potrebno je prijaviti se na telefon putem web preglednika. Ako ste instalirali SMS pristupnik na Windows ili Linux, jednostavno se povežite na njega putem preglednika. Ako još niste instalirali svoj SMS pristupnik, postavite ga sada koristeći jednu od sljedećih uputa: Kako postaviti SMS pristupnik na Windows, Kako postaviti SMS pristupnik na Linux. (Slika 8)

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

Kako poslati SMS iz C#

Da biste poslali SMS iz C#, potrebno je dodati ozekisms.dll kao referencu u vaš Visual Studio projekt. Možete odlučiti dodati binarnu dll datoteku ili možete dodati projekt koji sadrži izvorni kod. Ako dodate binarnu dll datoteku, vaš projekt će se brže kompajlirati, a ako dodate izvorni kod, imat ćete bolje mogućnosti za debugiranje. (Slika 9)

Kako poslati SMS poruku iz C#
Slika 9 - Kako poslati tekstualnu poruku iz C#

Kako poslati SMS iz C#:

  1. Preuzmite Ozeki C# SMS knjižnicu (zip datoteku)
  2. Ekstrahirajte zip datoteku
  3. Otvorite Microsoft Visual Studio
  4. Kreirajte novu konzolnu aplikaciju
  5. U Solution Exploreru kliknite "Add..."
  6. Odaberite "Existing project"
  7. Pronađite OzekiSMSLibrary.csproj
  8. Kliknite Open
  9. Dodajte "Ozeki" namespace u vašu konzolnu aplikaciju
  10. Kopirajte i zalijepite primjer
  11. Pošaljite svoj prvi SMS koristeći funkciju SendMessage

Kako primiti SMS u C#

Da biste primili SMS u C#, potrebno je postaviti svoj projekt na isti način na koji biste ga postavili za slanje SMS poruke. Ukratko, preuzmite ozekisms.dll kao binarnu datoteku ili kao izvorni kod i dodajte je u svoj projekt kao referentnu knjižnicu. Nakon toga, možete kreirati instancu C# klase i možete se pretplatiti na događaj koji se poziva kada se primi SMS. (Slika 10)

Kako primiti SMS poruku koristeći C#
Slika 10 - Kako primiti SMS koristeći C#

Kako primiti SMS u C#:

  1. Preuzmite Ozeki C# SMS knjižnicu (zip datoteku)
  2. Otvorite Microsoft Visual Studio
  3. Kreirajte novu konzolnu aplikaciju ili otvorite jedan od vaših postojećih projekata
  4. Dodajte C# SMS knjižnicu u vaše C# rješenje
  5. Dodajte "Ozeki" namespace u vašu klasu
  6. Kreirajte instancu klase poruke
  7. Prijavite se za OnMessageReceived događaj
  8. Napišite kod za rukovanje događajem
  9. Postavite breakpoint u rukovatelju događaja
  10. Pošaljite testnu poruku
  11. Pričekajte da SMS dođe do breakpointa
Razumijte izvorni kod 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);
            }
        }

        //*************************************************************
        // Čitanje sljedeće naredbe
        //*************************************************************
        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 što koristite Ozeki klijent!");
                    break;
                case "connect":
                    connect(parameters);
                    break;
                case "disconnect":
                    disconnect();
                    break;
                case "send":
                    send(parameters);
                    break;
            }
        }

        //*************************************************************
        // Naredbe / Dobrodošlica
        //*************************************************************

        static void printWelcome()
        {
            Console.WriteLine("**********************************");
            Console.WriteLine("* Dobrodošli u Ozeki klijent v1.0.0 *");
            Console.WriteLine("**********************************");
            Console.WriteLine("Upišite 'help' za dostupne naredbe");
        }

        //*************************************************************
        // Naredbe / Pomoć
        //*************************************************************

        static void printHelp()
        {
            Console.WriteLine("**********************");
            Console.WriteLine("* Dostupne naredbe *");
            Console.WriteLine("**********************");
            Console.WriteLine("help");
            Console.WriteLine("connect [host:port] [korisničko ime] [lozinka]");
            Console.WriteLine("disconnect");
            Console.WriteLine("send [primatelj] [poruka]");
            Console.WriteLine("exit");
        }

        //*************************************************************
        // Naredbe / Spajanje
        //*************************************************************

        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("Greška. "+errormessage);
                Console.WriteLine("Sintaksa: connect [host:port] [korisničko ime] [lozinka]");
                Console.WriteLine("Primjer: connect 127.0.0.1:9580 testkorisnik testlozinka");
            }
            Console.WriteLine("Spajanje na "+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 očekuje 3 parametra.";
                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 = "Nevažeći host i port.";
                host = null;
                port = 0;
                return false;                
            }

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

            if (!int.TryParse(portstring, out port))
            {
                errormessage = "Nevažeći broj porta.";
                port = 0;
                return false;
            }

            errormessage = null;
            return true;
        }

        //*************************************************************
        // Naredbe / Prekid veze
        //*************************************************************

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

        //*************************************************************
        // Naredbe / Slanje
        //*************************************************************

        static void send(string parameters)
        {
            string[] parts = parameters.Split(new char[] { ' ' },2);
            if (parts.Length < 2)
            {
                Console.WriteLine("Greška. Send očekuje 2 parametra.");
                Console.WriteLine("Sintaksa: send [primatelj] [poruka]");
                Console.WriteLine("Primjer: send +441234567 Pozdrav svijete");
                return;
            }

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

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

            Console.WriteLine("Slanje poruke. ID: "+msg.ID);
            Client.Send(msg);
        }

        //*************************************************************
        // Kreiranje klijenta
        //*************************************************************
        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;
        }

        //*************************************************************
        // Događaji poruka
        //*************************************************************

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

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

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

        static void Client_OnMessageAcceptedForDelivery(object sender, OzxArgs< string > e)
        {
            Console.WriteLine("Poruka prihvaćena za dostavu. ID: " + e.Item.ToString());
            printPrompt();
        }

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

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

        static void Client_OnMessageSubmitFailed(object sender, OzxArgs< string, DateTime, string > e)
        {
            Console.WriteLine("Slanje poruke nije uspjelo. ID: " + e.Item1 + " Datum: " + e.Item2+" Razlog: "+e.Item3);
            printPrompt();
        }

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

        static void Client_OnMessageDeliveryFailed(object sender, OzxArgs< string, DateTime, string > e)
        {
            Console.WriteLine("Dostava poruke nije uspjela. ID: " + e.Item1 + " Datum: " + e.Item2 + " Razlog: " + e.Item3);
            printPrompt();
        }

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

Što učiniti ako se ne mogu spojiti?

Ako se vaša SMS aplikacija ne može spojiti na SMS pristupnik, moguće je da ste unijeli pogrešnu IP adresu ili broj porta u SMS klijent. Također je moguće da vatrozid na SMS pristupniku blokira vezu.

Da biste provjerili koristite li ispravnu IP adresu i port, otvorite korisničko sučelje SMS pristupnika. U alatnoj traci SMS Gateway aplikacije kliknite na gumb Napredno. Time ćete otvoriti stranicu usluga SMS pristupnika. Potrebno je pronaći OZX uslugu na popisu i kliknuti na "Detalji" (Slika 11)

Detalji OZX usluge
Slika 11 - Detalji OZX usluge

Nakon što se stranica otvori, IP adresu možete pronaći u naslovnoj traci prozora (Slika 12), a broj porta na lijevoj strani konfiguracijskog obrasca. (Napomena, da možete promijeniti ovaj broj porta otvaranjem konfiguracijskog obrasca OZX usluge.)

Pronađite C# SMS API host i port
Slika 12 - Pronađite C# SMS API host i port

Nakon što ste pronašli IP adresu i port, trebate se uvjeriti da koristite ove podatke u svojoj C# SMS aplikaciji. Na primjer, ako je IP adresa bila 192.168.93.192, a port 9580, trebate unijeti ove parametre u funkciju za spajanje. (Slika 13)

Slika 13 - C# SMS klijent IP i port

Ove podatke možete izravno upisati u svoj C# kod. Na primjer, možete koristiti sljedeću funkciju za postavljanje veze s SMS pristupnikom na 192.168.93.192:9580 s OZX korisničkim imenom tester i lozinkom test:

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

Zaključne misli

Da sumiramo, C# SMS API vam omogućuje da se spojite na vaš SMS pristupnik koristeći OZX protokol. Ovaj SMS protokol nudi izvrsnu performansu i dvosmjernu SMS komunikaciju. Činjenica da besplatna C# SMS API knjižnica koju nudi Ozeki omogućuje slanje SMS poruka jednostavnim pozivima metoda, te primanje izvješća o dostavi SMS poruka u obliku C# događaja čini ovu opciju mogućom opcijom ako želite izgraditi C# SMS aplikaciju u 2025. godini.

More information