Android应用程序可以将数据包发送到其他手机吗?

时间:2012-03-06 19:03:55

标签: android communication

我试图弄清楚这是否可行:

我有兴趣编写一个可以在点对点设置中播放的简单游戏,而不必通过某个中间服务器。我正在考虑使用与SMS工作方式类似的东西,但我不知道这些例程是否可以访问。

根据我的理解,SMS只是一个具有特定结构的数据包,并且在某个端口上,它被发送到电话号码作为唯一标识符,而不是IP地址。如果是这种情况,是否可以使用类似的例程来SMS发送消息到另一部手机,但这样的方式是SMS不会接收它,如果知道该数据包的应用程序不是运行,然后数据会被忽略?

1 个答案:

答案 0 :(得分:3)

您可以编写发送短信和接收短信的应用。要记住的一些事情:

  • 短信往往价格昂贵,尤其是与IP流量相比时。
  • 用户必须授予向应用发送和阅读短信的权限。他可能不会这样做,因为他知道这很贵。
  • 即使用户合同提供短信统一费率,提供商也可能会限制发送短信的实际数量,或禁止自动化,高流量使用。
  • 短信可能比IP数据包慢得多。
  • 如果用户试图与尚未安装该应用程序的人玩游戏,那么这个可怜的人就会将他的短信收件箱充满这些短信。

因此,为此目的使用SMS通常是一个坏主意。如果用户彼此接近,则有一些替代方案:

  • 使用蓝牙。
  • 使用Wifi(大多数Android手机不允许ad-hoc连接,但有些手机可以充当接入点,以便其他人可以连接到它)。
  • 可能:使用NFC(只有部分最新手机才有此功能,我不知道你是否可以这样使用NFC)。
  • 在互联网上使用P2P(需要至少一个提供商允许其网络上的传入连接使用公共IP,例如没有内部NAT)。
  • 使用处理手机之间流量的服务器。