使用蜂窝网络的raspberry pi和android app之间的套接字连接,而不是本地或wifi网络

时间:2018-01-27 22:05:48

标签: sockets connection 4g

有没有办法在使用移动网络的raspberry pi 3和Android应用之间使用套接字连接,而不是本地或无线网络?

1 个答案:

答案 0 :(得分:0)

理论上,是绝对的 - 只要每个设备都有IP网络连接,就可以在它们之间打开一个套接字。

但实际上,您可能会发现有两个问题:

  • 获取“外部”IP地址
  • 确保您的流可以在目标网络上使用

通过外部IP地址,我指的是全球公认的,而不仅仅是本地或专用网络。大多数本地网络和运营商移动网络在内部使用专用寻址,并使用某种NAT(网络地址转换)功能将这些内部地址映射到外部地址。

除非你有一个固定的IP地址,这不是常态,否则你必须在外部发现你的deice出现的IP地址,然后与其他设备共享以允许设置套接字。每次连接到网络时,这可能会更改,甚至更频繁,具体取决于网络的设置方式。确实存在执行此操作的技术和协议,例如STUN:https://en.wikipedia.org/wiki/STUN

假设您可以以允许彼此通信的形式获取终点地址,您还需要检查您的运营商以及您拥有的任何本地网络策略或防火墙是否允许您想要的流量类型使用。蜂窝网络运营商有时会阻止某些流量类型,无论是为了安全还是试图阻止他们认为与自己的服务竞争的服务。