RoR +短信:Rails的网络应用程序体系结构发送/接收短信?

问题描述:

什么Web应用程序体系结构可以很好地接收/发送短信? “架构,我的意思是特定的体系结构,而不是一般的,如MVC。RoR +短信:Rails的网络应用程序体系结构发送/接收短信?

背景:我正在构建一个Web应用程序,它接收来自/发送手机答案的查询,应用程序设计(和业务模型)期望IOW:没有MVC网页“查看”,手机屏幕实际上是“查看”

这取决于你将如何接收和发送SMS消息。

有一个特定的短消息协议(SMPP - http://en.wikipedia.org/wiki/SMPP)。 对于您将需要一个SMPP服务器

如果您正在使用各种SMS over HTTP提供程序(如Clickatell - http://www.clickatell.com)之一,那么Web框架(如RoR)就没有问题,因为SMS消息的发送和接收实际上都是Web请求。 在这种情况下,您的系统视图是对网关的HTTP响应,而不是手机屏幕。其实涉及很多步骤: Cellphone -> Cellular Network -> Gateway -> Your Service和回复:Cellphone <- Cellular Network <- Gateway <- Your Service

我会质疑这是否真的是一个Web应用程序。如果视图层是SMS,则不必将互联网用作传输设备,则可以使用硬件连接到手机网络。

如果您正在考虑使用商用http/sms网关,那么在使用来自Rails应用程序的Ruby Clicktell gem时会出现good article。似乎是一条很好的尝试路线。

+0

指向“好文章”的链接已中断 – thesummersign 2015-03-21 14:01:40

在使用导轨之前,我已经完成了其中的一个。我创建了一个预算追踪器,可以使用我的手机发送命令。我用它来创建我需要购买/照顾即将到来的薪水的项目清单。当支票进来时,我会发送命令来标记每个项目。我也包含了查询列表的命令。这些命令看起来像“lc mar4”,在三月份的预算列表中创建了第四个薪水支票。一旦创建了一个列表,我可以发送命令而不指定列表,并且如果没有指定列表,我只需将该命令应用于最后一个列表,并缩小其他参数。 “la court 50 p”也会将mar4的名单添加一个名为“court”的项目,其值为50,并标注一个名为“p”的标签,我称之为pending。当我在星期五关照法庭时,我可以发送“lu du 50 d”,这将更新具有相同价值的法院物品,标记“d”完成。我有一个名为“lp”的命令,它将打印当前列表。 “lp d”会打印当前列表中的所有“d”标签项目。 “lsum p”将打印当前列表中的所有未决项目。

我做了一个空的rails应用程序。使我的数据库架构和我的模型,但没有控制器。我有一个脚本脚本,其中包括一个pop/ssl库,我在某处从我为此设置的gmail帐户下载电子邮件。从那以后,这很容易,只需检查每条消息的新消息,确保它来自我的手机,并解析消息并有选择地发送回应。 (我已经将该电子邮件地址编入我的手机,并将文本命令发送到该电子邮件地址)。我添加了一个cron作业并将其设置为每分钟运行一次。

我不知道这个架构是什么,但它基本上是一个查询第三方并根据响应做不同事情的服务。如果您使用短代码完成了真正的短信,现在我会告诉您,我认为有足够的投资来实现这些目标。通过短信网关开始使用电子邮件发送短信可能会更容易。

我并不是说这是迄今为止最好的方法,但是让消息“推”给我而不是每分钟都会检查一下会比较凉爽,但是嘿,我只是想平衡我的预算用我的手机。