SMS küldés és fogadás VB.Net programnyelvben
Ezen az oldalon tájékozódhat arról, miként
lehet SMS-t küldeni és fogadni Visual Basic.Net-ből az Ozeki NG SMS Gateway
szoftver segítségével. Az SMS szoftver az üzeneteket GSM modem kapcsolat vagy
IP SMS kapcsolat segítségével tudja a mobilhálózatba elküldeni. Az első esetben
a számítógéphez egy GSM modem vagy mobilkészülék van adatkábellel
csatlakoztatva, míg a másodikban az SMS szoftver közvetlenül kapcsolódik a
mobilszolgáltató SMS központjához az Interneten keresztül. Ebben a cikkben
részletes információt kaphat a VB.Net-ből történő SMS küldés és fogadás
működéséről.
Az Ozeki NG SMS Gateway szoftver alkalmazásával két lehetőség
nyílik az SMS funkcionalitás implementálására a Visual Basic.Net programba.
Használhat adatbázis szervert (MySQL, MSSQL, Oracle), ebben az esetben SQL
kéréseken keresztül tud SMS-t küldeni és fogadni. Illetve használhat HTTP
kérést, ahhoz hogy üzeneteit a mobilhálózatba eljuttassa. Mindkét lehetőség
garantálja a gyors, megbízható és biztonságos működést.
SMS küldés és fogadás VB.Net-ben adatbázist használva
Ebben a példában a VB.Net alkalmazás és az Ozeki NG SMS
Gateway egy adatbázis szerveren osztozik. SMS küldéshez a Visual Basic.Net
alkalmazásnak be kell illesztenie egy bejegyzést az adatbázisba SQL kérés
segítségével. Az Ozeki NG SMS Gateway feldolgozza ezt az adatbázis bejegyzést
és kiküldi az SMS-t. Az üzenetek fogadása hasonló módon történik. Ha egy
üzenet beérkezik, az Ozeki NG SMS Gateway beilleszti azt az adatbázisba. A
VB.Net alkalmazás pedig kinyeri ezt a bejövő üzenetet egy standard adatbázis
kapcsolat segítségével. Ez a folyamat az 1. ábrán tanulmányozható.
Ábra 1 - SMS küldés és fogadás VB.Net-ből adatbázison keresztül.
Ahhoz, hogy ezt a megoldást alkalmazza vállalati rendszerében, telepítenie kell
az Ozeki NG SMS Gateway szoftvert, illetve a
Visual Basic.Net 2008 Express Edition-t. Továbbá szüksége lesz a
vb.net-sms-example-sql.zip fájlra, amelyet itt letölthet:
Az adatbázisban létre kell hoznia két adatbázistáblát. Az
egyiket a kimenő üzenetek számára (ozekimessageout) a másikat a bejövő
üzeneteknek (ozekimessagein).
A következő SQL paranccsal teheti ezt meg:
create database ozeki
GO
|
use database ozeki
GO
|
CREATE TABLE ozekimessagein (
id int IDENTITY (1,1),
sender varchar(30),
receiver varchar(30),
msg varchar(160),
senttime varchar(100),
receivedtime varchar(100),
operator varchar(30),
msgtype varchar(30),
reference varchar(30),
);
|
CREATE TABLE ozekimessageout (
id int IDENTITY (1,1),
sender varchar(30),
receiver varchar(30),
msg varchar(160),
senttime varchar(100),
receivedtime varchar(100),
operator varchar(100),
msgtype varchar(30),
reference varchar(30),
status varchar(30),
errormsg varchar(250)
);
|
GO |
sp_addLogin 'ozekiuser', 'ozekipass'
GO
|
sp_addsrvrolemember 'ozekiuser', 'sysadmin'
GO
|
Következő lépésként az Ozeki NG SMS Gateway-ben kell
létrehoznia egy új adatbázis felhasználót és a VB.Net alkalmazásban kell
konfigurálnia.
Forráskód
Imports System
Imports System.Data
Imports System.Data.SqlClient
Public Class Form1
Private Sub bSend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bSend.Click
Try
Dim myConnection As New SqlConnection("Server=.\SQLEXPRESS;User ID=ozekiuser;" _
& "password=ozekipass;Database=ozeki;Persist Security Info=True")
Dim mySqlQuery As String = "INSERT INTO ozekimessageout (receiver,msg,status) " _
& "VALUES ('" & tbReceiver.Text & "', '" & tbMessage.Text & "', 'send');"
Dim mySqlCommand As New SqlCommand(mySqlQuery, myConnection)
'mySqlCommand.ExecuteNonQuery()
myConnection.Open()
mySqlCommand.ExecuteNonQuery()
myConnection.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
End Class
|
SMS küldés és fogadás VB.Net-ből HTTP használatával
Ez a példa bemutatja, hogyan lehet HTTP kérés segítségével SMS
üzenetet küldeni VB.Net-ből. Miután megvalósítja ezt a megoldást,
a VB.Net alkalmazás képes lesz szöveges üzenetek továbbítására mobil készülékekre
az Ozeki NG SMS Gateway szoftver HTTP felhasználói felületén keresztül. Az SMS
szoftver teszi lehetővé, hogy a HTTP kérések SMS üzenetekké konvertálódjanak
és ezen SMS üzenetek mobiltelefonokra való kiküldésében is szerepet játszik
(ábra 2).
Ábra 2 - SMS küldés és fogadás VB.Net-ből HTTP-n keresztül.
Ha HTTP-t használ a VB.Net alkalmazásban akkor lehetőség van
SMS fogadására is. Ezt kétféleképpen lehet megvalósítani. Az első, ha létrehoz
egy HTTP felhasználót az Ozeki NG SMS Gateway-ben, amely továbbítja a bejövő
üzeneteket a VB.Net programba. Ez a megoldás megkívánja, hogy alkalmazása
képes legyen feldolgozni a HTTP kéréseket. A másik lehetőség, ha időközönként
letölti a bejövő üzeneteit és kézbesítési jelentéseit az Ozeki NG SMS Gateway-ből.
A megoldás megvalósításához tehát szükséges az
Ozeki NG SMS Gateway szoftver installálása és
konfigurálása. Továbbá szükséges még egy VB.Net alkalmazás és a
vb.net-sms-example-sql.zip file, amelyet most letölthet:
vb.net-sms-example-sql.zip.
Az SMS funkcionalitás létrehozásához használhatja az alábbi forráskódot.
Forráskód
Imports System
Imports System.IO
Imports System.Net
Imports System.Text
Imports System.Web
Public Class fMain
Private Sub bSend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bSend.Click
Dim request As HttpWebRequest
Dim response As HttpWebResponse = Nothing
Dim url As String
Dim username As String
Dim password As String
Dim host As String
Dim originator As String
Try
host = "http://127.0.0.1:9501"
originator = "06201234567"
username = "admin"
password = "abc123"
url = host + "/api?action=sendmessage&" _
& "username=" & HttpUtility.UrlEncode(username) _
& "&password=" + HttpUtility.UrlEncode(password) _
& "&recipient=" + HttpUtility.UrlEncode(tbReceiver.Text) _
& "&messagetype=SMS:TEXT" _
& "&messagedata=" + HttpUtility.UrlEncode(tbMessage.Text) _
& "&originator=" + HttpUtility.UrlEncode(originator) _
& "&serviceprovider=GSMModem1" _
& "&responseformat=html"
request = DirectCast(WebRequest.Create(url), HttpWebRequest)
response = DirectCast(request.GetResponse(), HttpWebResponse)
MessageBox.Show("Response: " & response.StatusDescription)
Catch ex As Exception
End Try
End Sub
End Class
|
Amennyiben szeretné alkalmazni ezt a megoldást
vállalati rendszerében, látogassa meg termékoldalunkat,
ahol letöltheti az Ozeki NG SMS Gateway szoftvert.
|