我正在寻找一种方法让我的电脑(可上网)与我的手机通讯(通过短信)。我知道可以通过使用服务提供商的SMS网关(例如,加拿大Koodo移动的number@msg.telus.com)来发送短信。即使它有效,我也无法接听短信并通过电子邮件回复消息(不是没有互联网连接),这就是我想要实现的目标:即使我是我的电脑也是如此缺乏互联网连接。
基本上我想在家里使用某种服务器(用C#编写),等待来自我的短信命令以及通过短信回复。
这可以用最低的费用吗?理想情况下,如果我可以免费试用它,我会很喜欢它。
我看了Twilio,它似乎正是我正在寻找的东西,但据我所知,它通过发送POST请求将短信发送回应用程序。问题是我没有制作网页,我正在制作一个独立的C#应用程序。有没有办法恢复请求?我必须承认,我对请求以及如何处理它们几乎一无所知。
无论如何,我已经搜索了几个小时并且无法想出任何有趣的内容(除了 Twilio )。我非常感谢任何帮助或澄清。
感谢您宝贵的时间。
答案 0 :(得分:2)
答案 1 :(得分:2)
Voxeo提供的服务名为SMSIfied,目前处于测试阶段,虽然它处于测试阶段,但您可以免费试用。一旦它超出Beta版,每条消息只花费一美分而无需任何安装费。它有一个REST API that allows you to receive and send SMS messages来自你的电脑。这是一个blog post that shows how to use the API with C#。从“独立的”C#应用程序发送SMS消息相当容易,但接收它们有点棘手。要接收它们,您需要一个固定的IP地址,SMSIfied服务可以向其发出HTTP请求。这还需要您在防火墙中打开一个端口,以便进入HTTP流量。要处理传入的请求,我建议使用ASP.NET MVC 4附带的ASP.NET Web API。对于“独立”的C#应用程序,您可以self-host the API。
答案 2 :(得分:2)
我建议你使用twitter API。如果您在Twitter上为您的计算机创建一个帐户,并且您使用推特(在您的个人帐户上)注册您的手机,您将能够发送您的计算机将收到的推文。并且您将通过短信收到手机上的推文(如果您的计算机添加了您的名字)。
答案 3 :(得分:1)
(首先是免责声明,我为Nexmo做了一点开发人员传播,这是一个SMS API。)
在大多数情况下,SMS API使用HTTP回调来传递消息。因此,您的问题的主旨似乎是如何使用不在Web服务器上的代码来获取基于回调的API(在给定事件上进行HTTP回调)。
这与硬件开发人员(Ardunio等)在希望设备与API交互时面临的基本用例相同。
以下是一些选项:
使用静态IP地址,并将回调指向您的非网络服务器。当然,这里的问题是你基本上把你的非网络服务器变成了一个网络服务器。
不知何故,您的“独立”应用程序现在需要理解并接受HTTP请求,而它现在运行的服务器还存在其他安全问题。
这将起作用(并且可能是最简单的入门方式),但它似乎与你正在寻找的完全相反。此外,这意味着您需要确保您的应用程序保持在线状态(对于IP地址/网络发生变化的情况,肯定会出现问题)。
使用网络服务器作为中间人。仍然需要网络组件(毕竟,大多数此类API通过HTTP回调传递短信);但是,这意味着您可以选择将消息传递给您的独立应用程序。
网络服务器可以接受传入的短信(通过HTTP回调),然后通过电子邮件,XMPP等将其发送到您的独立应用程序。甚至可以忽略这些消息,您的独立应用程序可以轮询API消息列表(自上次调查以来)。
此时,您的独立应用程序可以使用HTTP请求进行回复(毕竟,独立应用程序应该能够轻松地生成 HTTP请求)。
使用SMPP。这是我不熟悉的,但会完全绕过对HTTP回调的需求。如果您使用的API支持SMPP(SMS协议),您可以将应用程序配置为通过SMPP进行连接,并通过该通道发送/接收所有消息。
我不是说我会推荐这个,但这是另一种选择。
选项1和2应该可以使用任何SMS API,对于选项3我唯一知道的provides SMPP is Nexmo(但那是因为我在那里做了一些工作,完全有可能其他SMS提供商提供)。
另外,既然你提到了最低费用 - 可能值得注意的是Nexmo免费收到短信。