0

几天来我一直在用 Asterisk 搞砸,我很享受,但最近我只是想到了一种可能更简单的方法来实现我想要的,但我真的不知道这是否可能。

是否可以使用它们的 IP 通过 LTE 匹配两部智能手机?

因此,您只需以编程方式获取他们的 IP,将这些 IP 发送到服务器,然后让服务器连接它们。这可能吗?

任何见解将不胜感激!

4

1 回答 1

0

与电信中的任何事情一样,这取决于您的运营商:-)

一些运营商提供本地 IPv4 地址并且不对它们进行 NAT。在这种情况下,您的服务器可以使用 IP 来确定节点端点。但是,鉴于 IPv4 短缺,您的运营商很可能与许多 ISP 一样,既要对 IP 进行 NAT,又可能对未经请求的入站流量进行防火墙保护。这使您在两个方面变得困难。首先,不能保证您拥有的 IP/端口组合对于连接来说是唯一的——它可以在“流之间”发生变化。其次,即使您确实知道 IP,也不太可能直接访问移动设备。

这样的事情可能是一个更好的主意:

  1. 移动 A 建立一个会话,我们假设它有一个 NATed、防火墙、IPv4 地址
  2. 移动设备 B 执行相同的操作 移动设备 A 打开与服务器的 TCP 会话——它必须是 TCP,因为防火墙对此更宽容。
  3. 手机 B 向服务器打开 TCP 会话
  4. 服务器现在有两个活动套接字,无论它们的地址如何,都可以将用户绑定到。

一些运营商提供“唤醒”机制来提升移动设备以使其“回叫服务器”,从而无需服务器为移动设备提供固定地址。可能是短信,也可能是通过一些集成的解决方案。请记住,运营商确切地知道移动设备的位置以及当前的 IP 安排——它将这种安排提供给移动设备。如果您可以询问运营商,服务器就会得到它需要的东西。

于 2013-05-15T02:52:33.010 回答