2012-03-06 21 views
2

我试图找出这是否可能:Android应用程序可以向其他手机发送数据包吗?

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

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

+0

手机是否会靠近?然后使用蓝牙,否则你需要某种服务器。短信是好的,但不够实时和有限 – JPM 2012-03-06 19:06:17

+0

@JPM no。我的目的是做一些类似于桌面应用程序的东西,它可以作为一个独立的服务器,并允许其他程序通过IP连接到它。通过3/4G技术连接的每部手机都有一个IP地址。我正在研究仅根据电话号码确定电话IP地址的可能性。 – 2012-03-08 21:19:56

+0

不知道你能做到这一点,但它的价值一枪我能够使用ATT手机设置套接字服务,然后从专有设备传达给它的手机。 – JPM 2012-03-10 01:15:09

回答

3

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

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

因此,为此目的使用SMS通常是一个坏主意。如果用户彼此接近,可以选择一些替代品:

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

SMS是一种与标准TCP流量不同的服务和/或协议吗?有什么方法可以根据您的电话号码获取电话的IP地址吗? – 2012-03-07 18:15:57

+0

正确,两者都不同。旧手机支持某种SMS协议,但没有TCP协议栈。最近的智能手机可以同时拥有,但仍然有很多智能手机并不总是连接到互联网。只有当手机有互联网连接时,它才具有IP地址(通常每次重新连接时都会更改),因此无法将电话号码映射到IP地址。 – 2012-03-13 17:32:33

相关问题