C# SMS API sa kompletnim 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 pruža Ozeki SMS Gateway je najbolja opcija. Ovo je najbolji C# SMS API u 2025. godini. Izuzetan je jer je veoma efikasan u korišćenju resursa i pruža informacije o vašim poslatim porukama u obliku izveštaja o slanju i izveštaja o isporuci mnogo brže od drugih SMS API-ja. Ovaj C# SMS API takođe vam omogućava da zakazujete SMS poruke za buduću isporuku i možete ga koristiti i za slanje i za primanje SMS poruka sa mobilnih telefona bez kašnjenja. Pročitajte ovaj članak da saznate više o ovom neverovatnom C# SMS rešenju i da otkrijete kako možete iskoristiti njegove prednosti u svom okruženju.

Šta je C# SMS API?

Ozeki C# SMS API je softverski interfejs koji pruža Ozeki SMS Gateway i omogućava vam da šaljete i primate SMS iz C#.Net koda. Ovaj interfejs može se koristiti sa C# SMS API klijentskom bibliotekom sa više računara istovremeno. (Slika 1) Možete preuzeti C# SMS API klijentsku biblioteku sa ove web stranice.

c# sms api
Slika 1 - C# SMS API

Preuzimanje C# SMS API klijentske biblioteke

Možete preuzeti C# SMS klijenta (izvorni kod) sa sledećeg linka. ZIP fajl sadrži Visual Studio projekat sa kompletnim izvornim kodom. Možete slobodno modifikovati, 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?

Sa Ozeki C# SMS API-om možete slati SMS poruke, primati SMS poruke mnogo efikasnije nego korišćenjem tradicionalnih HTTP ili REST SMP API rešenja. Ovo možete učiniti jer Ozeki C# SMS API kreira i održava trajnu TCP/IP vezu ka SMS gateway-u i komunicira preko visoko optimizovanog SMS protokola nazvanog OZX. Ovaj način komunikacije zahteva manje resursa u smislu CPU-a, memorije i mrežnog protoka u odnosu na druge SMS protokole. Na primer, slanje SMS poruke u HTTP REST API zahtevu zahteva najmanje 10 puta više podataka nego OZX zahtev za slanje.

Najvažnija prednost dolazi od trajne TCP/IP veze. Zahvaljujući ovoj trajnoj vezi, vaša C# SMS aplikacija će primati trenutne izveštaje o slanju i izveštaje o isporuci u obliku C# događaja. Takođe ćete primati dolazne SMS poruke bez ikakvih kašnjenja. Bez takve veze, morali biste ili da proveravate SMS gateway kako biste dobili izveštaje o isporuci ili da preuzimate dolazne SMS poruke, ili biste morali da podesite TCP/IP slušač ili web servis i da otvorite port u firewall-u kako bi poruke mogle da stignu.

Ova TCP/IP veza može se šifrovati korišćenjem SSL/TLS i lako možete dodati validaciju klijentskog i serverskog sertifikata kako biste ovu C# SMS API vezu učinili izuzetno sigurnom.

Kako koristiti C# SMS API:

  1. Preuzmite Ozeki SMS Gateway
  2. Instalirajte SMS tester konekciju
  3. Instalirajte OZX korisnika
  4. Kreirajte korisničko ime i lozinku
  5. Omogućite logovanje komunikacije
  6. Otvorite svoj C# SMS projekat u Visual Studio-u
  7. Izmenite C# kod sa korisničkim imenom i lozinkom
  8. Pošaljite test SMS iz C#-a
  9. Proverite logove u SMS gateway-u
  10. Simulirajte dolazni SMS sa test konekcijom
  11. Uradite test u stvarnim uslovima sa svojim Android telefonom
Video tutorijal za C# SMS API (2 minuta)

Da biste brzo dobili predstavu kako da podesite svoj SMS gateway da prihvata C# SMS API konekcije i kako da pošaljete svoj prvi SMS iz svoje C# aplikacije, pogledajte sledeći video. Ovaj video traje samo 2 minuta i 21 sekund i vredi vašeg vremena. Video pokazuje kako se OZX korisnik može kreirati u SMS gateway-u da prihvata C# SMS API klijente i kako možete pokrenuti i koristiti preuzetu C# SMS API klijentsku biblioteku u Visual Studio-u. Završni deo vam pokazuje kako možete poslati test SMS.

Video 1 - Kako podesiti svoj SMS gateway da prihvata C# SMS API konekcije i poslati svoj prvi SMS iz svoje C# aplikacije (Video tutorijal)

Zašto je Ozeki C# SMS API bolji?

Ozeki C# SMS API je odličan 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 rešenje će trošiti manje resursa u sva tri glavna područja: memorija, CPU i mrežni protok. Kao rezultat toga, vaše aplikacije će raditi brže i postati responzivnije.

Kako mogu koristiti C# SMS API?

Ozeki C# SMS API je skup C# klasa koje vam omogućavaju da šaljete i primate SMS poruke. Možete ga koristiti tako što ćete otvoriti preuzeti projekat u Visual Studio-u. Kada otvorite projekat, videćete da je kompletan kod napisan u C#.Net-u. Slanje poruka se vrši korišćenjem C# metoda, a dolazne poruke stižu u obliku C# događaja. Vaša SMS aplikacija, koju izgradite na osnovu SMS API-ja, moći će da šalje SMS poruke direktno u mobilnu mrežu koristeći Android mobilni telefon ili računar sa IP SMS konekcijom. Konekcija ka mobilnoj mreži će biti obezbeđena od strane Ozeki SMS gateway-a, koji morate Linux računar. (Slika 2)

Šta 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, sa MIT licencom. Možete je slobodno modifikovati i distribuirati po želji. Kada preuzmete API, paket sadrži primer konzolne aplikacije i kompletan izvorni kod Ozeki.Libs.OZX dll.

Jedini trošak koji morate da platite je licencna naknada 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čunara kako biste povećali kapacitet ili iskoristili SMS ponude lokalnih mreža.

Što se tiče troškova SMS-a, ako šaljete tekstualne poruke preko mobilnog telefona priključenog na vaš računar, trošak zavisi od SMS tarifa 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 priključivanjem više mobilnih telefona na vaš računar. Kada šaljete SMS preko mobilnog telefona (Slika 2), potrebno je instalirati Ozeki Android SMS gateway softver na vaš mobilni telefon i morate se povezati na njega preko Wi-fi veze.

Ako instalirate Linux računar, možete slati SMS bežično sa GSM modem poolom priključenim na računar. U ovim slučajevima, primenjuju se iste besplatne SMS tarife jer GSM modemi i GSM modem poolovi rade bežično sa SIM karticama.

Ako vam je potreban visokoperformansni on-premises SMS gateway sistem, gde se može poslati i primiti nekoliko hiljada (ili miliona) poruka, morate se povezati sa on-line SMS servis provajderom. U ovom slučaju, SMS tarife određuje SMS servis na koji ste pretplaćeni. Imajte na umu da je uvek dobra ideja povezati se sa dva ili više on-line SMS servisa kako biste bili otporni na greške i kako biste mogli da iskoristite opcije najjeftinijeg rutiranja. Takođe je dobra ideja podesiti bežičnu rezervnu vezu.

Kako se povezati na SMS gateway?

Kada razvijate svoju C# SMS aplikaciju, verovatno ćete koristiti svoj laptop. Visual Studio će biti instaliran na vašem laptopu. Ovaj laptop će se povezati na vašu kancelarijsku Lokalnu Mrežu (LAN) bilo preko Wi-fi ili preko Ethernet veze. Vaš Android mobilni telefon ili vaš Windows SMS Gateway sistem (Slika 3) će takođe biti povezani na kancelarijsku LAN mrežu. Kada se povezujete na SMS gateway, koristićete LAN IP adresu računara na kome je instaliran SMS Gateway.

Ozeki SMS Gateway instaliran na serveru
Slika 3 - Ozeki SMS Gateway instaliran na serveru

Da biste povezali svoju C# aplikaciju na SMS gateway, morate znati IP adresu i broj porta SMS gateway-a, kao i korisničko ime i lozinku. IP adresa SMS gateway-a će biti njegova LAN IP adresa. Pošto je većinu vremena SMS gateway softver instaliran na drugom računaru od vašeg razvojnog laptopa, ova IP adresa će biti drugačija od IP adrese vašeg laptopa. Broj porta je jednostavan. Obično je to podrazumevani broj porta, koji je 9580. Da biste dobili korisničko ime i lozinku, morate kreirati OZX korisnika (Slika 4). Kada kreirate OZX korisnika, možete navesti bilo koje korisničko ime ili lozinku koja vam odgovara.

Nakon što ste saznali IP adresu, broj porta i kreirali korisničko ime i lozinku, morate uneti ove podatke u connect metodu vaše C# SMS aplikacije.

Slika 4 - Kreiranje OZX korisnika za C# SMS API

Ako ne želite da koristite dva računara, možete instalirati SMS gateway na vaš laptop (isti računar na kome razvijate svoju C# aplikaciju). U ovom slučaju, uneli biste "127.0.0.1" kao IP adresu i port "9580" u connect metodu. (Da, možete koristiti i IPv6 adrese ili hostname-ove, kao što je 'localhost")

Prednosti korišćenja sopstvenog SMS Gateway-a

Besplatno testiranje: Veoma je korisno koristiti sopstveni SMS gateway, jer možete testirati svoju SMS aplikaciju besplatno. Možete simulirati dolazne SMS poruke, možete slati test poruke na test vezu SMS gateway-a, i možete simulirati SMS izveštaje o isporuci koji pokazuju uspešnu i neuspešnu isporuku. Dobra je ideja pročitati SMPP simulator vodič kako biste saznali više o testiranju.

Neograničeno testiranje performansi: Nakon što ste razvili svoje SMS rešenje u C#, verovatno ćete želeti da izvršite neka testiranja performansi. Sa Ozeki SMS gateway-om je veoma lako testirati vaš sistem sa velikim volumenom SMS poruka. U većini slučajeva, slaćete samo nekoliko hiljada SMS poruka, ali ako vas klijent zamoli, možete čak izvršiti test sa nekoliko miliona poruka. Pogledajte rezultate testiranja performansi SMS-a koje smo sproveli sa Ozeki SMS Gateway-om sa 1 000 000 SMS poruka.

Laka promena provajdera: Ako razvijate svoj C# kod koji radi sa Ozeki SMS Gateway-om, nećete morati da brinete o tome da budete vezani za jednu SMS mrežu ili jednog SMS servis provajdera. Možete koristiti isti C# kod i jednostavno preći na drugog SMS servis provajdera ako dobijete bolju ponudu konfigurisanjem veze novog provajdera u SMS gateway-u.

Шта је OZX?

OZX је скраћеница за OZeki eXchange. То је високо оптимизовани SMS протокол који се користи за комуникацију између ваше C# SMS апликације и Ozeki SMS Gateway-а. То је TCP/IP-базирани протокол који је знатно ефикаснији од традиционалних SMS протокола, као што су C# HTTP SMS API протоколи, C# REST SMS API протоколи или SMPP SMS протокол. Ефикасност произилази из две главне чињенице: не преноси се непотребна подаци (имајте на уму да постоји огроман вишак података и у http и у smpp), и могуће је лакше и ефикасније процесирање протокола због PDU структуре протокола.

Шта садржи C# SMS API zip?

Zip фајл садржи два пројекта (као на Слици 5): конзолну апликацију која је веома лака за разумевање кода да вам покаже како да користите C# SMS API, и садржи изворни код самог C# SMS API-ја.

Садржај C# SMS API пакета:

  • Пример кода (комплетан изворни код)
  • Ozeki клијентска библиотека (комплетан изворни код)

Слика 5 - Садржај C# SMS API пакета

Како да отворим C# SMS API .sln решење?

Да бисте отворили Ozeki SMS API, потребно је да лоцирате OzekiConsole.sln фајл након распакивања OzekiConsole.zip пакета, и да отворите овај фајл у Visual Studio-у. (Слика 6) Можете дуплим кликом на фајл решења (.sln), или можете доћи до њега у Visual Studio-у.

Слика 6 - Отварање OzekiConsole.sln

Након што сте отворили .sln, видећете два пројекта у вашем решењу. OzekiConsole пројекат садржи пример кода који вам показује како можете користити C# SMS API клијентску библиотеку за повезивање са SMS Gateway-ом. (Слика 7) Други пројекат је Ozeki.Libs.OZX dll пројекат. Овај пројекат садржи комплетан изворни код C# SMS API клијентске библиотеке.

Слика 7 - C# SMS решење

Како се пријавити на SMS gateway са C# SMS API-јем

Да бисте користили C# SMS API, потребно је да креирате корисничко име и лозинку у вашем SMS gateway-у. Ако сте инсталирали ваш SMS gateway на ваш Android телефон, потребно је да се пријавите на телефон користећи веб прегледач. Ако сте инсталирали ваш SMS gateway на Windows или Linux, једноставно се повежите на њега са вашим прегледачем. Ако још увек нисте инсталирали ваш SMS gateway, подесите га сада користећи једно од следећих упутстава: Како да подесим мој SMS Gateway на Windows-у, Како да подесим мој SMS gateway на Linux-у. (Слика 8)

како да користите c# sms api
Слика 8 - Како да користите C# SMS API

Како да пошаљете SMS из C#

Да бисте послали SMS из C#, потребно је да додате ozekisms.dll као референцу у ваш Visual Studio пројекат. Можете да одлучите да додате бинарни dll или можете да додате пројекат који садржи изворни код. Ако додате бинарни dll, ваш пројекат ће се компајлирати брже, ако додате изворни код имаћете боље могућности дебаговања. (Слика 9)

Како да пошаљете SMS поруку из C#
Слика 9 - Како да пошаљете текстуалну поруку из C#

Како да пошаљете SMS из C#:

  1. Преузмите Ozeki C# SMS библиотеку (zip фајл)
  2. Распакујте zip фајл
  3. Отворите Microsoft Visual Studio
  4. Креирајте нову конзолну апликацију
  5. У Solution Explorer-у кликните "Add..."
  6. Изаберите "Existing project"
  7. Потражите OzekiSMSLibrary.csproj
  8. Кликните Open
  9. Додајте "Ozeki" namespace у вашу конзолну апликацију
  10. Копирајте и налепите пример
  11. Пошаљите ваш први SMS користећи функцију SendMessage
Како да примите SMS у C#

Да бисте примили SMS у C#, потребно је да подесите ваш пројекат на исти начин на који бисте га подесили за слање SMS поруке. Укратко, преузмите ozekisms.dll као бинарни фајл или као изворни код и додајте га у ваш пројекат као референтну библиотеку. Након тога, можете да креирате инстанцу C# класе и можете да се претплатите на догађај који се позива када се SMS прими. (Слика 10)

Како да примите SMS поруку користећи C#
Слика 10 - Како да примите SMS користећи C#

Како да примите SMS у C#:

  1. Преузмите Ozeki C# SMS библиотеку (zip фајл)
  2. Отворите Microsoft Visual Studio
  3. Креирајте нову конзолну апликацију или отворите један од ваших постојећих пројеката
  4. Додајте C# SMS библиотеку у ваше C# решење
  5. Додајте "Ozeki" namespace у вашу класу
  6. Креирајте инстанцу message класе
  7. Пријавите се за OnMessageReceived догађај
  8. Напишите код за руковање догађајем
  9. Поставите breakpoint у руковаоцу догађаја
  10. Пошаљите тест поруку
  11. Сачекајте да SMS стигне до breakpoint-а

Razumeti C# SMS API izvorni kod

//*********************************************************************
// 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 sledeće komande
        //*************************************************************
        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;
            }
        }

        //*************************************************************
        // Komande / Dobrodošlica
        //*************************************************************

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

        //*************************************************************
        // Komande / Pomoć
        //*************************************************************

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

        //*************************************************************
        // Komande / Povezivanje
        //*************************************************************

        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("Primer: connect 127.0.0.1:9580 testkorisnik testlozinka");
            }
            Console.WriteLine("Povezivanje 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;
        }

        //*************************************************************
        // Komande / Prekid veze
        //*************************************************************

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

        //*************************************************************
        // Komande / 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 [primalac] [poruka]");
                Console.WriteLine("Primer: send +441234567 Zdravo svete");
                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("Uspešno povezivanje.");
            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 isporuku. 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 poslata. ID: "+e.Item1+" Datum: "+e.Item2);
            printPrompt();
        }

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

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

        static void Client_OnMessageDeliveryFailed(object sender, OzxArgs< string, DateTime, string > e)
        {
            Console.WriteLine("Isporuka poruke nije uspela. 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();
        }
    }
}

Шта да радим ако не могу да се повежем?

Ако ваша СМС апликација не може да се повеже са СМС гејтвејем, могуће је да сте унели погрешну ИП адресу или број порта у СМС клијент. Такође је могуће да фајервол на СМС гејтвеју блокира везу.

Да бисте проверили да ли користите исправну ИП адресу и порт, отворите кориснички интерфејс СМС гејтвеја. У траци са алаткама СМС Гејтвеј апликације, кликните на дугме "Напредно". Ово ће отворити страницу услуга СМС гејтвеја. Потражите ОЗХ услугу на листи и кликните на "Детаљи" (Слика 11)

Детаљи ОЗХ услуге
Слика 11 - Детаљи ОЗХ услуге

Након што се страница отвори, ИП адресу можете наћи у насловној траци прозора (Слика 12), а број порта на левој страни конфигурационог формулара. (Напомена, можете променити овај број порта отварањем конфигурационог формулара ОЗХ услуге.)

Пронађите C# СМС API хост и порт
Слика 12 - Пронађите C# СМС API хост и порт

Након што пронађете ИП адресу и порт, требало би да се уверите да користите ове детаље у вашој C# СМС апликацији. На пример, ако је ИП адреса била 192.168.93.192, а порт 9580, требало би да унесете ове параметре у функцију за повезивање. (Слика 13)

Слика 13 - C# СМС клијент ИП и порт

Можете написати ове детаље директно у ваш C# код. На пример, можете користити следећу функцију за подешавање везе са СМС гејтвејем на 192.168.93.192:9580 са ОЗХ корисничким именом "tester" и лозинком "test":

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

Закључне мисли

Да резимирамо, C# СМС API вам омогућава да се повежете са вашим СМС Гејтвејем користећи ОЗХ протокол. Овај СМС протокол нуди одличне перформансе и двострану СМС комуникацију. Чињеница да бесплатна C# СМС API библиотека коју пружа Озеки омогућава да шаљете СМС поруке једноставним позивима метода, и да примате извештаје о слању и испоруци СМС-ова у облику C# догађаја чини ову опцију најбољом ако желите да направите C# СМС апликацију у 2025. години.

More information