现在做的一个网站对短信收发模块的需求如下:
1.3网支持长短信。
2.发送延迟1分钟内。
3.支持回复。
4.回复延迟1分钟内。
一开始尝试在购买HTTP接口的短信平台。这样的实现是最简单的,用ruby基本一两句话搞定就可以搞定这个模块。所以这个方案是非常诱人的。
但问题来了,购买的短信平台,能3网支持长短信的不多,在某些时段(周5发生比较频繁).短信发送出现延迟。
但在开始那个因为可以很简单的方案的诱惑下,我还是继续尝试,测试了google搜索“短信平台”几乎前2页所有的公司。发现即使测试的时候延迟很短,但用过一段时间,总会出现一些延迟。原因后来想了想:就我那一点量,短信平台公司肯定赚不到钱,能赚钱的,都是卖给那些做短信营销的,这个量大,一下子出去就几万条了,如果同时几个人在发营销短信,那延迟就不可避免了。想明白了这个之后,就开始搜索一下如“验证码短信”类似的,但这个市场比营销短信的市场小多了,可供选择的公司少,能满足所有需求的,没有发现。
最后只能做短信cat的方案(自己用手机发短信,4个需求基本都能满足),因为在学校的时候,看见有同学做过短信cat的论文,感觉是一个很复杂涉及硬件的项目。(直觉再一次害了我)。所以最后才开始研究这个方案,但其实,这个问题非常简单,我只需要找到一个支持收发短信的库甚至只是一个命令行工具,我就可以解决问题,根本不会涉及任何硬件编程。google一下,果然很多。smslib,sms server gateway,gnokii。这个尝试也比较曲折,但比起之前的折腾也已是好很多了,一天搞定。这个特别推荐gnokii这个适合中国国情的东西。在中国nokia以前卖得很好。在淘宝上花100多买个翻新的nokia来发短信,比买个杂牌的短信cat在价格,信号,储存空间上都有优势。但是nokia有些型号在串口通信,AT指令方面不是很标准。我的nokia 6020在串口通信的是好像就需要打开DTS,而大部分串口通信的类库都是默认不打开的。所以先试用smslib就一直是device no response.gnokii是一个专门针对nokia的工具,专业的力量就是厉害,一点问题都没有。(注意,下载之后仔细读文档,里面有nokia各个型号conf文件应该的配置)。这个是个命令行工具,但各种语言应该都有机制方便的调用命令行程序。所以也很好用。
这个事情给我的最大教训就是:人的思维是有天生的bug的。我们习惯用经验去解决问题,习惯用熟悉的方式的去解决问题。这个在我们熟悉领域是很有用处的,可以让我们更快更有效率的决策,但对于我们不熟悉的领域。就往往带来各种问题。自己习惯了敏捷开发的一些思想,总是想着怎么最快的先解决部分问题,形成一个demo,这个思想在熟悉的领域不会有问题。比如流程变化,反正都是写程序。但不熟悉的领域,就需要先更加仔细的分析需求。分析各种解决方案的优劣。和同事一起评估。在软件开发过程中,对于熟悉的技术,业务领域,采取敏捷开发。对于不熟悉的领域,采取传统的瀑布开发。两者结合,可能才是解决问题的正道。
分享到:
相关推荐
详解Oracle ERP和SAP ERP种种异同
用java实现一种种Fibonacci数 用java实现一种种Fibonacci数 用java实现一种种Fibonacci数
scjp考题中的种种陷阱 scjp考题中的种种陷阱 scjp考题中的种种陷阱
神奇种种是一款很不错的软件,希望大家可以常来关顾神奇种种喔!
个体门店火险种种.docx
情书的种种 vb做的
三种种简历模型集合.pdf
关系营销的种种策略.doc
小学语文语文常识词汇张冠李戴种种
解决无线网掉线的种种问题,无线网的正确使用
堆栈帧,函数调用,堆栈切换 函数调用过程种种细节分析
高中政治课课堂导入种种.doc
反意疑问句用法种种.doc
初中语文文摘生活悉心体味种种可爱
PostgreSQL备份与恢复的种种手段 PostgreSQL备份与恢复的种种手段 PostgreSQL备份与恢复的种种手段 PostgreSQL备份与恢复的种种手段
网页在不同分辨率下保持同一显示效果做法种种
如何看营销培训的种种偏差.doc
容易导致车辆事故的原因种种.docx
突破Win 2021系统的种种限制.docx