我想问一下, Android 手机作为服务端(用 4G 信号), pc 作为客户端(用 WiFi),不在一个局域网,他们之间可以通信吗?最近试了一下,发现老是连接不了,请大家指教?

2018-01-16 09:52:21 +08:00
 YangJian1994

最近想做一个 Android app,作为服务端去监听电脑发过来的数据,在一个局域网是可以访问的,但我想如果手机没有连入 WiFi,那么电脑和手机还可以通信吗?前提是我知道 Android 手机的外网 ip,但是还是无法连接,不清楚什么原因。。。

12761 次点击
所在节点    Android
16 条回复
raysonx
2018-01-16 09:59:46 +08:00
运营商 4G 给移动设备分配的都是内网 IP,使用对称 nat 和公网连接,而且设置有严格的防火墙策略。
除非将来放开 ipv6,否则不可能作 TCP listener
jianleer
2018-01-16 10:02:42 +08:00
几乎大部分的终端设备分配的 IP 都不是公网 IP,也就是说你的手机和电脑在两个局域网中,一般的生产服务器是公网 IP 或者有转发,手机则不是,无法完成路由寻址的过程,所以这样是无法通信的
cctv1005s927
2018-01-16 10:03:19 +08:00
1,在你描述的这种情况里面,手机没有连入 wifi,手机电脑是不可通信的。
2,你说你知道你的安卓手机的外网 IP,你有想过这个外网 IP 是怎么来的吗?这个是路由器分配的一个动态 IP,相当于你看到的外网 IP 也只不过是另外一个局域网内的 IP 地址而已。

3,那在这种情况下如何让他们组网连接?
最基本的思想就是你们需要一个公有的服务器,在公网上有固定 IP 的东西,把他们串联起来。

推荐方法:
( 1 )使用『蒲公英』异地组网,我自己试过是有效的
( 2 )买一台公网的 server,在上面搭建 vpn,多台设备连入 vpn,即可互通。(理论可行,未测试)
YangJian1994
2018-01-16 10:06:04 +08:00
@raysonx 谢谢,了解了
YangJian1994
2018-01-16 10:06:41 +08:00
@jianleer 谢谢,我还是想得太简单了
YangJian1994
2018-01-16 10:07:39 +08:00
@cctv1005s927 谢谢,我准备用一个阿里云服务器试试。
FlyPuff
2018-01-16 10:17:54 +08:00
teamviewer PC 版上有个 VPN 服务,但是好像 Android 好像访问不到这个服务吧
iwtbauh
2018-01-16 10:19:57 +08:00
理论上存在 NAT 穿透的可能
参考 coturn
iwtbauh
2018-01-16 10:20:51 +08:00
另外,如果 WiFi 的路由器分配到了公网 IP,可以使用 UPnP 打开防火墙端口
zpxshl
2018-01-16 10:33:54 +08:00
不能,可买服务器当电脑手机的中转站。之前的项目就是这样搞得。
linshiyouxiang
2018-01-16 10:42:09 +08:00
zerotier 穿透? 只测试够了. 实际项目 可以自建中转(zerotier)moon 服务器.
http://www.lucktu.com/archives/766.html
autulin
2018-01-16 11:48:08 +08:00
想了一下,两个设备同时 VPN 到一个网,这样或许可以吧?
winglight2016
2018-01-16 12:41:24 +08:00
如果只是想实现数据双向发送,可以通过 http / socket 连接到第三方服务器然后长连接通讯
jyf
2018-01-16 12:49:19 +08:00
n2n 穿透没啥问题 不过总是要客户端麻烦
arafat5549
2018-01-16 16:40:23 +08:00
做 NAT 穿透 试试 webrtc
s82kd92l
2018-01-16 18:24:35 +08:00
仅仅是消息的话可用公用的 mqtt 服务器,客户端协议很全,天生用来做 IOT 长连接

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/423208

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX