How can send message in Main
Moderator: alt
How can send message in Main
How can send message in Main class?
Now I`m receive message and write to DB (MSSQL) and want answered to received message which saved at DB, please help me for this.
I`m write some code in Main but it`s don`t working
public void client_evDeliverSm(object sender, DeliverSm data)
{
if (data.SegmentNumber > 0)
{
AddMessageSegmentToCollector(data);
string messageText = SmppClient.GetMessageText(data.UserDataPdu.ShortMessage, data.DataCoding);
AddToLog("DeliverSm part received : "
+ " Sequence : " + data.Sequence.ToString()
+ " SourceAddr : " + data.SourceAddr
+ " Segments ( Number: " + data.SegmentNumber.ToString()
+ ", Total : " + data.TotalSegments.ToString()
+ ", Reference : " + data.MessageReferenceNumber.ToString()
+ " ) Coding : " + data.DataCoding.ToString()
+ " MessageText : " + messageText);
if (IsLastSegment(data))
{
string fullMessage = RetrieveFullMessage(data);
AddToLog("Full message: " + fullMessage);
}
}
else
{
string messageText = SmppClient.GetMessageText(data.UserDataPdu.ShortMessage, data.DataCoding);
AddToLog("DeliverSm received : "
+ " Sequence : " + data.Sequence.ToString()
+ " SourceAddr : " + data.SourceAddr
+ " Coding : " + data.DataCoding.ToString()
+ " MessageText : " + messageText);
SqlConnection conn = new SqlConnection("server=Komil-PC;Integrated Security=SSPI; database=AzSMS");
SqlCommand CmdSql = new SqlCommand("INSERT INTO incomingSM (Sequence, SourceAddr, Coding, MessageText) Values (@Sequence,@SourceAddr,@Coding,@MessageText)", conn);
conn.Open();
CmdSql.Parameters.AddWithValue("@Sequence", data.Sequence.ToString());
CmdSql.Parameters.AddWithValue("@SourceAddr", data.SourceAddr);
CmdSql.Parameters.AddWithValue("@Coding", data.DataCoding.ToString());
CmdSql.Parameters.AddWithValue("@MessageText", messageText);
CmdSql.ExecuteNonQuery();
conn.Close();
DataCodings coding = DataCodings.Default;
SubmitMode mode = SubmitMode.ShortMessage;
// some text in greek upto 160 characters
string sMessageText = txtSMSMessage.Text.ToUpper();
//
// Send SMS ...
//
SubmitSm[] resp = client.SubmitTextAsync(
mode,
byte.Parse(data.SourceAddrTon.ToString()),
byte.Parse(data.SourceAddrNpi.ToString()),
byte.Parse(data.DestAddrTon.ToString()),
byte.Parse(data.DestAddrNpi.ToString()),
data.DestAddr,
coding,
messageText);
}
// Here you can change DeliverSmResp status
// data.Response.Status = CommandStatus.ESME_RINVCMDID;
}
Now I`m receive message and write to DB (MSSQL) and want answered to received message which saved at DB, please help me for this.
I`m write some code in Main but it`s don`t working
public void client_evDeliverSm(object sender, DeliverSm data)
{
if (data.SegmentNumber > 0)
{
AddMessageSegmentToCollector(data);
string messageText = SmppClient.GetMessageText(data.UserDataPdu.ShortMessage, data.DataCoding);
AddToLog("DeliverSm part received : "
+ " Sequence : " + data.Sequence.ToString()
+ " SourceAddr : " + data.SourceAddr
+ " Segments ( Number: " + data.SegmentNumber.ToString()
+ ", Total : " + data.TotalSegments.ToString()
+ ", Reference : " + data.MessageReferenceNumber.ToString()
+ " ) Coding : " + data.DataCoding.ToString()
+ " MessageText : " + messageText);
if (IsLastSegment(data))
{
string fullMessage = RetrieveFullMessage(data);
AddToLog("Full message: " + fullMessage);
}
}
else
{
string messageText = SmppClient.GetMessageText(data.UserDataPdu.ShortMessage, data.DataCoding);
AddToLog("DeliverSm received : "
+ " Sequence : " + data.Sequence.ToString()
+ " SourceAddr : " + data.SourceAddr
+ " Coding : " + data.DataCoding.ToString()
+ " MessageText : " + messageText);
SqlConnection conn = new SqlConnection("server=Komil-PC;Integrated Security=SSPI; database=AzSMS");
SqlCommand CmdSql = new SqlCommand("INSERT INTO incomingSM (Sequence, SourceAddr, Coding, MessageText) Values (@Sequence,@SourceAddr,@Coding,@MessageText)", conn);
conn.Open();
CmdSql.Parameters.AddWithValue("@Sequence", data.Sequence.ToString());
CmdSql.Parameters.AddWithValue("@SourceAddr", data.SourceAddr);
CmdSql.Parameters.AddWithValue("@Coding", data.DataCoding.ToString());
CmdSql.Parameters.AddWithValue("@MessageText", messageText);
CmdSql.ExecuteNonQuery();
conn.Close();
DataCodings coding = DataCodings.Default;
SubmitMode mode = SubmitMode.ShortMessage;
// some text in greek upto 160 characters
string sMessageText = txtSMSMessage.Text.ToUpper();
//
// Send SMS ...
//
SubmitSm[] resp = client.SubmitTextAsync(
mode,
byte.Parse(data.SourceAddrTon.ToString()),
byte.Parse(data.SourceAddrNpi.ToString()),
byte.Parse(data.DestAddrTon.ToString()),
byte.Parse(data.DestAddrNpi.ToString()),
data.DestAddr,
coding,
messageText);
}
// Here you can change DeliverSmResp status
// data.Response.Status = CommandStatus.ESME_RINVCMDID;
}
I`m write some like:komil wrote:Can you write some example? Because I`m trying but have error (alt wrote:Try another event evDeliverSmComplete.
In the evDeliverSm event response DeliverSmResp is not sent yet and SMSC waits when client send response.
evDeliverSmComplete event is raised when response already sent.
DeliverSmResp resp = client.evDeliverSmComplete();
but VS answered with this error:
Error 1 The event 'ALT.SMS.SmppClient.evDeliverSmComplete' can only appear on the left hand side of += or -=
I can`t use some idea here ( write some example with sending process because which sending process in ALT.SMS I`m used but given error ((alt wrote:evDeliverSmComplete is event, but you are trying to use it as method
in your code should be line with
client.evDeliverSm += ...
replace it with
client.evDeliverSmComplete += ...
client.evDeliverSmComplete += new ALT.SMS.SmppClient.DeliverSmEventHandler(client_evDeliverSmComplete);
...
public void client_evDeliverSmComplete(object sender, DeliverSm data)
{
if (data.SegmentNumber > 0)
{
AddMessageSegmentToCollector(data);
string messageText = SmppClient.GetMessageText(data.UserDataPdu.ShortMessage, data.DataCoding);
AddToLog("DeliverSm part received : "
+ " Sequence : " + data.Sequence.ToString()
+ " SourceAddr : " + data.SourceAddr
+ " Segments ( Number: " + data.SegmentNumber.ToString()
+ ", Total : " + data.TotalSegments.ToString()
+ ", Reference : " + data.MessageReferenceNumber.ToString()
+ " ) Coding : " + data.DataCoding.ToString()
+ " MessageText : " + messageText);
if (IsLastSegment(data))
{
string fullMessage = RetrieveFullMessage(data);
AddToLog("Full message: " + fullMessage);
}
}
else
{
string messageText = SmppClient.GetMessageText(data.UserDataPdu.ShortMessage, data.DataCoding);
AddToLog("DeliverSm received : "
+ " Sequence : " + data.Sequence.ToString()
+ " SourceAddr : " + data.SourceAddr
+ " Coding : " + data.DataCoding.ToString()
+ " MessageText : " + messageText);
SqlConnection conn = new SqlConnection("server=Komil-PC;Integrated Security=SSPI; database=AzSMS");
SqlCommand CmdSql = new SqlCommand("INSERT INTO incomingSM (Sequence, SourceAddr, Coding, MessageText) Values (@Sequence,@SourceAddr,@Coding,@MessageText)", conn);
conn.Open();
CmdSql.Parameters.AddWithValue("@Sequence", data.Sequence.ToString());
CmdSql.Parameters.AddWithValue("@SourceAddr", data.SourceAddr);
CmdSql.Parameters.AddWithValue("@Coding", data.DataCoding.ToString());
CmdSql.Parameters.AddWithValue("@MessageText", messageText);
CmdSql.ExecuteNonQuery();
conn.Close();
DataCodings coding = DataCodings.Default;
SubmitMode mode = SubmitMode.ShortMessage;
// some text in greek upto 160 characters
string sMessageText = txtSMSMessage.Text.ToUpper();
//
// Send SMS ...
//
SubmitSm[] resp = client.SubmitTextAsync(
mode,
byte.Parse(data.SourceAddrTon.ToString()),
byte.Parse(data.SourceAddrNpi.ToString()),
byte.Parse(data.DestAddrTon.ToString()),
byte.Parse(data.DestAddrNpi.ToString()),
data.DestAddr,
coding,
messageText);
}
}
...
public void client_evDeliverSmComplete(object sender, DeliverSm data)
{
if (data.SegmentNumber > 0)
{
AddMessageSegmentToCollector(data);
string messageText = SmppClient.GetMessageText(data.UserDataPdu.ShortMessage, data.DataCoding);
AddToLog("DeliverSm part received : "
+ " Sequence : " + data.Sequence.ToString()
+ " SourceAddr : " + data.SourceAddr
+ " Segments ( Number: " + data.SegmentNumber.ToString()
+ ", Total : " + data.TotalSegments.ToString()
+ ", Reference : " + data.MessageReferenceNumber.ToString()
+ " ) Coding : " + data.DataCoding.ToString()
+ " MessageText : " + messageText);
if (IsLastSegment(data))
{
string fullMessage = RetrieveFullMessage(data);
AddToLog("Full message: " + fullMessage);
}
}
else
{
string messageText = SmppClient.GetMessageText(data.UserDataPdu.ShortMessage, data.DataCoding);
AddToLog("DeliverSm received : "
+ " Sequence : " + data.Sequence.ToString()
+ " SourceAddr : " + data.SourceAddr
+ " Coding : " + data.DataCoding.ToString()
+ " MessageText : " + messageText);
SqlConnection conn = new SqlConnection("server=Komil-PC;Integrated Security=SSPI; database=AzSMS");
SqlCommand CmdSql = new SqlCommand("INSERT INTO incomingSM (Sequence, SourceAddr, Coding, MessageText) Values (@Sequence,@SourceAddr,@Coding,@MessageText)", conn);
conn.Open();
CmdSql.Parameters.AddWithValue("@Sequence", data.Sequence.ToString());
CmdSql.Parameters.AddWithValue("@SourceAddr", data.SourceAddr);
CmdSql.Parameters.AddWithValue("@Coding", data.DataCoding.ToString());
CmdSql.Parameters.AddWithValue("@MessageText", messageText);
CmdSql.ExecuteNonQuery();
conn.Close();
DataCodings coding = DataCodings.Default;
SubmitMode mode = SubmitMode.ShortMessage;
// some text in greek upto 160 characters
string sMessageText = txtSMSMessage.Text.ToUpper();
//
// Send SMS ...
//
SubmitSm[] resp = client.SubmitTextAsync(
mode,
byte.Parse(data.SourceAddrTon.ToString()),
byte.Parse(data.SourceAddrNpi.ToString()),
byte.Parse(data.DestAddrTon.ToString()),
byte.Parse(data.DestAddrNpi.ToString()),
data.DestAddr,
coding,
messageText);
}
}
Last edited by alt on Tue Jul 06, 2010 7:49 pm, edited 1 time in total.
alt wrote:client.evDeliverSmComplete += new Inetlab.SMPP.SmppClient.DeliverSmEventHandler(client_evDeliverSmComplete);
...
public void client_evDeliverSmComplete(object sender, DeliverSm data)
{
if (data.SegmentNumber > 0)
{
AddMessageSegmentToCollector(data);
string messageText = SmppClient.GetMessageText(data.UserDataPdu.ShortMessage, data.DataCoding);
AddToLog("DeliverSm part received : "
+ " Sequence : " + data.Sequence.ToString()
+ " SourceAddr : " + data.SourceAddr
+ " Segments ( Number: " + data.SegmentNumber.ToString()
+ ", Total : " + data.TotalSegments.ToString()
+ ", Reference : " + data.MessageReferenceNumber.ToString()
+ " ) Coding : " + data.DataCoding.ToString()
+ " MessageText : " + messageText);
if (IsLastSegment(data))
{
string fullMessage = RetrieveFullMessage(data);
AddToLog("Full message: " + fullMessage);
}
}
else
{
string messageText = SmppClient.GetMessageText(data.UserDataPdu.ShortMessage, data.DataCoding);
AddToLog("DeliverSm received : "
+ " Sequence : " + data.Sequence.ToString()
+ " SourceAddr : " + data.SourceAddr
+ " Coding : " + data.DataCoding.ToString()
+ " MessageText : " + messageText);
SqlConnection conn = new SqlConnection("server=Komil-PC;Integrated Security=SSPI; database=AzSMS");
SqlCommand CmdSql = new SqlCommand("INSERT INTO incomingSM (Sequence, SourceAddr, Coding, MessageText) Values (@Sequence,@SourceAddr,@Coding,@MessageText)", conn);
conn.Open();
CmdSql.Parameters.AddWithValue("@Sequence", data.Sequence.ToString());
CmdSql.Parameters.AddWithValue("@SourceAddr", data.SourceAddr);
CmdSql.Parameters.AddWithValue("@Coding", data.DataCoding.ToString());
CmdSql.Parameters.AddWithValue("@MessageText", messageText);
CmdSql.ExecuteNonQuery();
conn.Close();
DataCodings coding = DataCodings.Default;
SubmitMode mode = SubmitMode.ShortMessage;
// some text in greek upto 160 characters
string sMessageText = txtSMSMessage.Text.ToUpper();
//
// Send SMS ...
//
SubmitSm[] resp = client.SubmitTextAsync(
mode,
byte.Parse(data.SourceAddrTon.ToString()),
byte.Parse(data.SourceAddrNpi.ToString()),
byte.Parse(data.DestAddrTon.ToString()),
byte.Parse(data.DestAddrNpi.ToString()),
data.DestAddr,
coding,
messageText);
}
}
I`m used this code but error in namespace in where I have to write this?
I`m so sorry but after when I`m add:alt wrote:Oh, sorry, I did it in wrong project
correct code should start with
client.evDeliverSmComplete += new ALT.SMS.SmppClient.DeliverSmEventHandler(client_evDeliverSmComplete);
public void client_evDeliverSm(object sender, DeliverSm data)
{
if (data.SegmentNumber > 0)
{
AddMessageSegmentToCollector(data);
string messageText = SmppClient.GetMessageText(data.UserDataPdu.ShortMessage, data.DataCoding);
AddToLog("DeliverSm part received : "
+ " Sequence : " + data.Sequence.ToString()
+ " SourceAddr : " + data.SourceAddr
+ " Segments ( Number: " + data.SegmentNumber.ToString()
+ ", Total : " + data.TotalSegments.ToString()
+ ", Reference : " + data.MessageReferenceNumber.ToString()
+ " ) Coding : " + data.DataCoding.ToString()
+ " MessageText : " + messageText);
if (IsLastSegment(data))
{
string fullMessage = RetrieveFullMessage(data);
AddToLog("Full message: " + fullMessage);
}
}
else
{
string messageText = SmppClient.GetMessageText(data.UserDataPdu.ShortMessage, data.DataCoding);
AddToLog("DeliverSm received : "
+ " Sequence : " + data.Sequence.ToString()
+ " SourceAddr : " + data.SourceAddr
+ " Coding : " + data.DataCoding.ToString()
+ " MessageText : " + messageText);
SqlConnection conn = new SqlConnection("server=Komil-PC;Integrated Security=SSPI; database=AzSMS");
SqlCommand CmdSql = new SqlCommand("INSERT INTO incomingSM (Sequence, SourceAddr, Coding, MessageText) Values (@Sequence,@SourceAddr,@Coding,@MessageText)", conn);
conn.Open();
CmdSql.Parameters.AddWithValue("@Sequence", data.Sequence.ToString());
CmdSql.Parameters.AddWithValue("@SourceAddr", data.SourceAddr);
CmdSql.Parameters.AddWithValue("@Coding", data.DataCoding.ToString());
CmdSql.Parameters.AddWithValue("@MessageText", messageText);
CmdSql.ExecuteNonQuery();
conn.Close();
client.evDeliverSmComplete += new ALT.SMS.SmppClient.DeliverSmEventHandler(client_evDeliverSmComplete);
}
// Here you can change DeliverSmResp status
// data.Response.Status = CommandStatus.ESME_RINVCMDID;
}
VS answered to me with this error:
Error 1 The name 'client_evDeliverSmComplete' does not exist in the current context
So I`m doing that:alt wrote:SmppClient events should be initialized right after
client = new SmppClient();
client.evDeliverSmComplete += new ALT.SMS.SmppClient.DeliverSmEventHandler(client_evDeliverSmComplete);
Also in your last code you need to rename method client_evDeliverSm to
client_evDeliverSmComplete
public SmppClientDemo()
{
InitializeComponent();
client = new SmppClient();
client.Timeout = 60000;
client.NeedEnquireLink = true;
client.evConnect += new SmppClient.ConnectedEventHandler(client_evConnect);
client.evDisconnect += new SmppClient.DisconnectEventHandler(client_evDisconnect);
client.evDeliverSmComplete +=new ALT.SMS.SmppClient.DeliverSmEventHandler(client_evDeliverSmComplete);
client.evEnquireLink+=new ALT.SMS.SmppClient.EnquireLinkEventHandler(client_evEnquireLink);
client.evGenericNack+=new ALT.SMS.SmppClient.GenericNackEventHandler(client_evGenericNack);
client.evError +=new ALT.SMS.SmppClient.ErrorEventHandler(client_evError);
client.evReceiveData+=new ALT.SMS.SmppClient.ReceiveDataEventHandler(client_evReceiveData);
client.evSendData +=new ALT.SMS.SmppClient.SendDataEventHandler(client_evSendData);
client.evUnBind +=new ALT.SMS.SmppClient.UnBindEventHandler(client_evUnBind);
client.evDataSm +=new ALT.SMS.SmppClient.DataSmEventHandler(client_evDataSm);
client.evSubmitComplete += new SmppClient.SubmitSmRespEventHandler(client_evSubmitComplete);
client.evQueryComplete += new SmppClient.QuerySmRespEventHandler(client_evQueryComplete);
}
and now how can I answered for the receive message automatically? I1m so sorry for this stupid question but I`m new at C#
ans thanks of lot for your help ALT
-
- Posts: 1
- Joined: Tue Nov 02, 2010 6:24 pm
- Location: Kemah,Tx
- Contact:
How can send message in
Can someone tell me how I can send a text message to Belarus? I use Verizon wireless and they do not support text messaging to Belarus. I can receive from my friend not just send.
Is there some other way I can send her a text message?
I would prefer to send myself but will have to settle for the text message for the time.
Is there some other way I can send her a text message?
I would prefer to send myself but will have to settle for the text message for the time.
????? ??????? [url=http://suplexx.com]?????? ??????? ????[/url] ?? ???????!