安卓应用程序可以向其他手机发送数据包吗



我正试图弄清楚这是否可能:

我感兴趣的是写一个简单的游戏,可以在对等设置中玩,而不必通过一些中介服务器。我想使用类似于短信工作方式的东西,但我不知道这些例程是否可以访问。

据我所知,短信只是一个具有特定结构的数据包,在某个端口上,它被发送到一个电话号码作为唯一标识符,而不是IP地址。如果是这样的话,有没有可能使用与短信类似的程序来向另一部手机发送消息,但这样短信就不会接收到它,如果能理解数据包的应用程序没有运行,那么数据就会被忽略?

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

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

因此,使用短信来达到这个目的大多是个坏主意。如果用户彼此非常接近,则可以选择一些替代方案:

  • 使用蓝牙
  • 使用Wifi(大多数安卓手机不允许临时连接,但有些手机可以充当接入点,这样其他手机就可以连接到它)
  • 也许:使用NFC(只有一些最新的手机有这个,我不知道你是否可以这样使用NFC)
  • 使用互联网上的P2P(这需要至少一个提供商允许在其网络上使用公共IP进行传入连接,例如没有内部NAT)
  • 使用一个处理手机之间通信的服务器

最新更新