測試代碼: http://www.cnblogs.com/files/dyj057/gms%20modem短信收發組件.rar
短信的部署方案很多種,我們現在介紹3種主要的部署方案。客戶可以在這幾個方案中選擇一個來實施,完成短信的應用。
gms modem的部署
購買硬件設備
gms modem(短信模塊)是一個硬件設備,通過串口與計算機通信,實現短信的發送。這個硬件都是可以在市場上很容易買到的,價格在1000-2000元之間。最好選用西門子tc35i和mc35為核心的短信模塊,我們也提供短信模塊的硬件。
買一張sim卡
其實gms modem相當于一個手機,需要一張sim卡才能工作。可以選擇那些包本地通話費的收費類型,那樣可以極大地節約短信發送的開支。比如:一張卡50元包本地通話費,即使你每月發送100萬條短信,它也只花費了50元。每條短信的成本非常的低。
連接
把卡裝入gms modem,然后使用模塊自帶的串口通訊線與服務器的串口連接,再接通電源,程序,設定gms modem的串口號,再啟動短信服務,就完成了整個的部署方案。
sp 平臺的部署
sp平臺的部署就很復雜了,需要專業人員的參與,這里就不詳細介紹了。
sms web service
sms web service不需要部署,只需要了解它的使用方法就可以了。比如新浪的短信發送服務:
新浪發送短信的web service資源的該問地址為:http://smsinter.sina.com.cn/ws/smswebservice0101.wsdl,這是一個wsdl文件格式,您可以直接在您的vs.net環境中直接添加web引用,把該地址輸入即可。
資費標準請參看新浪無線網站上的相關說明,應該是一條兩角錢。由于其后臺可能使用了消息隊列機制,在繁忙的時候,可能會有幾秒鐘延遲。
如果是長期使用,收費有點貴。而且還必須與internet連接。
下面給出一個利用sms modem的發送短信的組件:
主要利用gmsmodemsvr的這個方法完成短信的發送.這些方法是:
addmodem 添加一個modem到服務器,如果已經加入到服務器中,就不能再添加了。
deletemodem modem工作組中刪除一個modem
dispose 釋放非托管資源
sendsms 發送短信,如果服務器已經啟動,就啟動發送線程,沒有就直接的加入到發送隊列中。
start 運行服務,連接所有的modem
stop 停止服務,清理系統資源
現在舉例說明:
1 初始化設備
gmodemsvr svr = new gmodemsvr();
//初始化了一個從串口1連接的modem,默認使用57600的波特率
//如果你有多個modem,也可以加入,系統系統發送短信的能力會成倍的提高,
//它支持多個modem之間的負載平衡,最大限度的利用系統資源
svr.addmodem(new ibms.sms.gmsmodem(1));
//注冊新短信的接收處理方法
svr.onreceivedsms += new recvedsms(form.onrecvedsms);
//開始運行,發送接收短信開始
svr.start();
2 發送短信
//構造一條新短信
sendsms sms= new sendsms("8613500000000","收到短信給我回一個");
//發送短信,后面的回調函數是這條新短信發送完成后,結果的處理
svr.sendsms(sms,new sendsmcallback(form.onsendsmend));
3 短信接收處理函數
public void onrecvedsms(object receiver, receivedsms receivedsms)
{
console.writeline("recv ms id"+receivedsms.id);
console.writeline("from:"+receivedsms.fromphonenumber);
console.writeline("message:"+ receivedsms.content);
}
不包含類庫的源代碼,在這里表示抱歉
在測試源代碼中包含類庫的說明文檔,不明白的地方可以參看,也可以給我發郵件.
新聞熱點
疑難解答