关于短信群发软件的开发
来源:互联网 发布:买家怎么关闭淘宝客 编辑:程序博客网 时间:2024/04/28 06:57
前段时间因为公司要对会员群发短信,因为来不及开发,买了二郎腿软件短信群发软件(800元),在使用中发现当人数过多(上一千)时,速度就会很慢,而且在对方号码错误时,经常会弹出对话框,并中止发送过程。与自已做的消费者管理软件集成度也不高,要用户导出,再导入短信软件。种种不便,引发了我开发短信群发软件的想法。
在csdn论坛上查了一下,发现网上很多牛人已经把源代码都公布出来了。首先是wuzhiwen (蚕蛹) 的贴子。
http://community.csdn.net/Expert/topic/3212/3212036.xml?temp=.4985315
这个免费的控件,没试过,不知道怎么样:
http://www.refound.net/download/soft.asp?id=26
woodlet (木头) 的贴子:
http://community.csdn.net/Expert/topic/3512/3512498.xml?temp=2.967471E-02
相信看完这些贴子,你已经知道怎样做一个完整的短信群发软件了。在这里,把我的一些体会写在这里:
1、发送的间隔时间问题:woodlet (木头) 的做法是 读com口增加重试, 50ms读一次,但是我在实际测试中发现,这种方法仍然存在问题,表现为隔一个号码就会失败。我的理解是每次发送后就会有一个反馈信息,这个反馈需要时间。如果不适当中断一下,就会发送失败。因此,在发送完上一个号码后,线程休息5000毫秒:
For Each r As DataRow In dt.Rows
mobilenumber = r("mobile")
origSendState = GetText(r("sendstate"))
If origSendState = "" OrElse origSendState = "失败" Then '未发送的和失败的,才进行发送
If mobilenumber.Length = 11 And mobilenumber.StartsWith("13") Then '是手机号码才发送
showMsg(mobilenumber, Me.StatusBarPanel2)
SendState = xSMS.Send(Me.txtCenterNumber.Text, r("mobile"), Me.txtSmsContent.Text)
showResault(SendState, StatusBarPanel2)
Else '无效号码不发送短信
SendState = "无效"
End If
'更新发送状态
r("sendstate") = SendState
r.EndEdit()
Me.ShowSendTotal()
'不是最后一条记录时,不是无效号码,就Sleep 5秒。
If cm.Position < cm.Count - 1 And SendState <> "无效" Then
Threading.Thread.Sleep(SleepTime.Value)
End If
End If
'移动记录位置
cm.Position += 1
dg.Select(cm.Position)
Next
2、读手机品牌、型号、短信中心号码的问题:经常会出现不能获取手机品牌、型号,不能读取短信中心号码的问题,我的处理是,怱略手机品牌、型号,当出现读不出短信中心号码的情况时,不允许用户进行设置,不允许用户发送短信:
Dim OpenMsg As String = xSMS.Connect(Me.cbConnectPort.Text, CInt(Me.cbConnectBaudRate.Text))
If OpenMsg = "" Then
Me.StatusBarPanel1.Text = xSMS.GetMobileInfo
If Me.StatusBarPanel1.Text = "未知手机 未知型号" Then
Me.lblConnectState.Text = "未取得手机及型号"
End If
Me.lblConnectState.Text = String.Format("与{0}通迅成功!", Me.cbConnectPort.Text)
Me.txtCenterNumber.Text = xSMS.GetSMSCenterNumber
If Me.txtCenterNumber.Text.IndexOf("8613") = -1 Then
Me.tSend.Enabled = False
Else
Me.tSend.Enabled = True
End If
Else
Me.lblConnectState.Text = OpenMsg
Me.tSend.Enabled = False
End If
3、AT命令:
序号 | AT命令 | 注释 | 可能的其他命令格式 |
1 | AT | 联机命令 | |
2 | AT+CGMI | 取得手机型号 | |
3 | AT+CGSN | 取得手机IMEI | |
4 | AT+CMGF | 设置手机为PDU格式 | |
5 | AT+CMGR | 读一条信息 | |
6 | AT+CMGL | 列出手机内部所有的信息 | |
7 | AT+CMGS | 发送一条短消息 | |
8 | AT+CMGD | 删除手机内部一条短消息 | |
9 | AT+CSCA | 设置短消息服务中心号码 | |
10 | AT+CSQ | 取得手机信号强度 | 可能有部分手机没有这个命令 |
11 | AT+CBC | 取得手机电池情况 | AT^SBC(西门子手机) |
12 | AT+CNMI | 设置手机消息通知方式 |
手机可能的错误提示
序号 | 错误提示格式 | 注释 |
1 | +CME ERROR | 手机设置命令错误,表示参数错误 |
2 | +CMS ERROR | 手机短消息命令错误,表示参数错误 |
3 | ERROR | 手机命令语法错误,表示没有这条命令 |
- 关于短信群发软件的开发
- 关于短信群发软件的开发
- 移动 短信群发软件开发完成。
- 关于短信群发的简单实现
- PyQt开发的手机同步软件(方便的电话本编辑和短信群发功能)
- 编写smartphone短信群发软件
- 短信群发的代码
- 调用Android短信软件进行短信群发
- 调用Android短信软件进行短信群发
- C#开发短信群发系统
- 群发软件开发过程
- 【免费】iPhone上最好用的短信群发软件: 快速短信4.1
- 蓝天科技网络短信群发软件 官方
- 用.net编写站内短信群发软件
- 用.net编写站内短信群发软件
- 关于编写群发软件过程的几点想法
- QQ群发软件开发一
- QQ群发软件开发二
- The GRETA Regular Expression Template Archive
- QQ魔法表情实现原理源代码下载
- VC中的一些常用方法(20条)
- Motorola V180,V501,V600,C650等在JBuilder开发环境的配置
- atlcom 和ado数据库方面的技术(来自gooyan(超级替补) 的帮助)
- 关于短信群发软件的开发
- 今天晚上第一次做饭,蕃茄蛋花汤哦...HOHO..好美味啊...
- 判断字符串中是否有中文
- Bussiness Card Design
- FTP自动登陆脚本
- [收藏]软件文档知多少?
- 理性化调试
- LINUX学习笔记本
- ASP程序错误详细说明例表