手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表Tag:easyui

Linux短信平台的搭建

关于linux下发短信,我是找到这篇 文章,但是我想要的只是一点点啦。因为我是用SP接口。

先上他的内容,然后我把我当初做的列出来,原文是在:http://www.cnblogs.com/pipc/archive/2010/07/11/1775007.html:

     前段时间为用户提供VPN 和SSH 服务,消息的都是通过电子邮件发送的。没有短信的快捷和实时性,决定搭建自己的短信平台。

在此之前我也用过其他服务商提供的短信平台,都有各种各样的问题。

其中短信平台存在的问题:

1、发送短信有时段限制,有些短信通道只能在 上午8点 到晚上8点发送,如果遇到夜间的紧急时间需要发送短信就无能为力了,比如服务器当机、MSSQL数据库日志满了、系统盘空间不足。 在Linux 下磁盘空间不足会照成MySQL启动失败。

2、通过通道发送短信限制十分严格,相对于个人手机,进行关键词屏蔽非常厉害,  比如 “发票”、“还钱”、“你妈”有些常用词都不能发。 句子里包含关键词都发送失败, “我中午去打印手机话费发票”、“听说你妈住院了,现在身体好吗?”, 通过个人手机限制的就不严格。

3、通道拥挤的情况,因为这些通道一般都是提供批量发送广告的, 一次发送1万条,10万条都很正常。 如果这个时候你发送短信,只能排在消息队列的最后。 通常延时20分钟到4小时。

4、通道设备故障,因为各种情况照成的消息队列内的短信丢失。 你调用API接口发送短信,短信状态时成功的,由于平台的故障照成短信没有发送成功,而且你得不到错误的状态,费用照扣。

5、扣量,各个短信平台情况不一样, 价格比较低的扣量比较严重, 比如你群发 10万条,  前 5000条100%发送,  5000 -1万条  发送 95%, 1万-2万条 发送 90%, 到10万条的时候55% 甚至更低。

发送短信一般有2种方法, 一种是通过短信通道发送, 还有就是自己购买设备发送短信。

 申请单独的短信通道要求比较高,一般在10-30万费用,比较大型的公司才会申请,比如银行、证劵等, 发送的号码都是95555 ,96000等, 还有就是106557**** 这样的通道。 申请的费用较少,一般几千元就可以申请到。 通道提供商业一般提供2种接口, 一种是API接口,通过API发送短信,比如http://www.pipc.net/sms/send.aspx?id=130130****& amp;msg=测试短信 ,还有一种数据库接口,你可以连接到数据库直接把消息插入相关的表中。

--EOF--

因为我是采用的购买的SP的服务。因此,发送短信就相当于类似上面的方法了。不过我也想过接收短信,是采用原文中下面的方式(http://www.cnblogs.com/pipc/archive/2010/07/11/1775007.html)【我这里不一一介绍】

我具体是在linux下面跑一个cron任务,这样可以一直从队列里进行发送短信。大多数情况下我们是即时发送的,只是有时候会有堵塞,这时候我们就扔到队列里(当然,是需要返回结果不是手机号码不正确的原因才会扔到队列里,如果手机号码都不对了,扔到队列里也发送不了。)

接收短信,只要在任何一台机器上搞一个移动猫,用任何程序都可以定时读取信息。如果是接收到相应的代码就触发一些操作。有这种功能就免得你买一些需要接收固定号码的SP了,那样的价格高很多呢。

Tags: sms

张宴:当MySQL 和 Memcached 遇到尾部空格时

张宴遇到的问题,我没有遇到过,只是以前知道,mysql在varchar类型插入的时候,会把字符串末尾的空格取消的(难道我记错了?),char的没记。不过按照char的类型,他是会用空格补全长度。所以,即使没空格也会多出空格。但,用PHP取出来后,我就没有注意过了。。。

下面是张宴遇到的问题,不过我觉得还是有必要用PHP实现一下看看究竟怎么回事。。。

同事下午遇到一问题,MySQL 和 Memcached 对于同一个key,不能对应起来。最终原因是:PHP将key写入MySQL数据库之前,没有经过trim()过滤首尾空格(关键是尾部空格),结果:

1、MySQL的varchar、char类型字段,SELECT .... WHERE 查询时忽略字段的尾部空格。例如varchar类型字段uidcode中,存储的含有尾部空格的内容“rewinx ”,通过以下三种方式均可查询到:

大小: 4.38 K
尺寸: 420 x 351
浏览: 1831 次
点击打开新窗口浏览全图

在MySQL手册第“11.4.1. CHAR和VARCHAR类型”节中写道(http://dev.mysql.com/doc/refman/5.1/zh/column-types.html#char): 请注意所有MySQL校对规则属于PADSPACE类。这说明在MySQL中的所有CHAR和VARCHAR值比较时不需要考虑任何尾部空格。请注意所有 MySQL版本均如此,并且它不受SQL服务器模式的影响。

   2、PHP 的 Memcache 扩展,则在set、get时,自动将key中的空格,转换成了半角下划线“_”。当然,直接通过 Memcached 协议来读取,key值“rewinx ”就要写成“rewinx_”了。

示 例:testmc.php

PHP代码
  1. <?php  
  2. $memcache_obj = new Memcache;  
  3. $memcache_obj->connect('192.168.8.34', 11211);  
  4. $memcache_obj->set('rewinx ''hello world');  
  5. echo $memcache_obj->get('rewinx ')."\r\n";  
  6. ?>  

大小: 3.28 K
尺寸: 434 x 151
浏览: 1791 次
点击打开新窗口浏览全图

Tags: mysql, memcached

网络有时候会突然断掉,可能是ARP?

目前还不知道为什么,只是这两天访问可能会有点问题。请大家谅解。
已经联系机房在查原因了。一两天内可以解决这个问题。
希望不是ARP吧。否则就需要一一做IP/MAC绑定。有点烦。