哪种web应用架构能够很好地接收/发送SMS文本消息?架构,我指的是特定的架构,而不是一般的架构,比如MVC。
背景:我正在构建一个从手机接收查询/向手机发送答案的web应用程序。应用程序设计(和商业模式)期望通过SMS文本消息与手机设备通信。IOW:没有MVC网页"view“。手机屏幕实际上就是“视图”。
发布于 2008-09-29 04:09:18
我会质疑这是否真的是一个web应用程序。如果视图层是SMS,你不必使用互联网作为传输,你可以使用硬件连接到手机网络。
如果你正在考虑使用一个商业的http/sms网关,有一个关于从Rails应用程序使用Ruby Clicktell gem的good article。看起来是个不错的尝试途径。
发布于 2008-09-29 03:11:52
这取决于您接收和发送SMS消息的方式。
有一个特定的短消息协议(SMPP - http://en.wikipedia.org/wiki/SMPP)。为此,您需要一个SMPP服务器。
如果您使用的是各种SMS over HTTP提供商之一(例如Clickatell - http://www.clickatell.com),那么像RoR这样的web框架就可以了,因为SMS消息的发送和接收实际上都是web请求。在这种情况下,您的系统视图是对网关的HTTP响应,而不是手机屏幕。实际上涉及到相当多的步骤:Cellphone -> Cellular Network -> Gateway -> Your Service和回复:Cellphone <- Cellular Network <- Gateway <- Your Service
发布于 2008-09-29 04:37:43
在使用rails之前,我已经制作了其中一个。我创建了一个预算追踪器,我可以用我的手机发送命令。我用它创建了一个清单,上面列出了我需要在即将到来的薪水支票上购买/照顾的物品。当收到支票时,我会发送命令将列表中的每一项都标记出来。我还包含了查询列表的命令。这些命令看起来有点像"lc mar4“,用来创建三月份预算列表中的第四张薪水支票。一旦创建了列表,我就可以在不指定列表的情况下发送命令,如果没有指定列表,我让脚本只将命令应用于最后一个列表,并压缩其他参数。"la court 50p“也会添加一个名为”mar4“的条目,它的值为50,标记为"p”,我称之为pending。当我在那个星期五处理法庭事务时,我可以发送"lu Court50d“,它会用相同的值更新法庭项目,标签为"d”,表示完成。我有一个名为"lp“的命令,它可以打印当前列表。"lp % d“将打印当前列表中所有”%d“标记的项目。"lsum p“将打印当前列表中的所有待决项目。
我做了一个空的rails应用。创建了我的数据库模式和模型,但没有控制器。我在脚本中有一个脚本,其中包括一个pop/ssl库,我在某个地方找到了一个地方,可以从我为此设置的gmail帐户下载电子邮件。从那时起,这是相当简单的,只需检查每条消息的新消息,确保它来自我的手机,并解析消息,并可选地发送回一个响应。(我已经将这个电子邮件地址编程到我的手机中,并向该电子邮件地址发送文本命令)。我添加了一个cron作业,并将其设置为每分钟运行一次。
我不知道这个架构是什么,但它基本上是一个查询第三方的服务,并根据响应做不同的事情。如果你用短码做了真正的短信,我会让你现在知道,我认为有相当大的投资是必要的,以真正做到这些。通过sms网关使用电子邮件和文本消息进行开发可能更容易。
我并不是说这是到目前为止最好的方式,如果把消息“推”给我,而不是每一分钟都在查看,那会更酷,但嘿,我只是想用我的手机来平衡我的预算。
https://stackoverflow.com/questions/147184
复制相似问题