【问题标题】:Web server on Android with remote access possibilityAndroid 上的 Web 服务器,具有远程访问的可能性
【发布时间】:2014-04-02 20:57:02
【问题描述】:

有人可以确认,可以在 android 设备(使用 3G 或 4G 互联网)上创建一个网络服务器并通过互联网访问它(从连接到互联网的远程 PC,而不是从同一个本地网络)。 我知道已经有一些用于 android 的网络服务器(iJetty、nanohttpd)和像 ksweb 这样的程序,所以看起来应该是可能的。 但是,我在互联网上进行了一些搜索,有人警告说,移动设备使用 NAT 协议工作,所以这是不可能的。

有人可以解决歧义吗? 提前谢谢你。

【问题讨论】:

    标签: android mobile nat


    【解决方案1】:

    不,通常是不可能的。破坏交易的问题不在于 Android,而在于几乎所有移动网络提供商都会阻止传入连接。

    出于特殊目的,您可以执行以下操作,例如让电话联系公开可见的远程计算机,并使用 ssh 之类的东西创建一个隧道,如果有服务器程序在侦听安卓设备。但这往往只对远程测试等有用。

    如果您使用 wifi,您可以这样做,但您需要接受 Android 并非旨在承诺任何 3rd 方程序的高可用性。您需要一个唤醒锁来保持处理器运行。你甚至可能需要做一些事情,比如定期从设备启动出站流量,以保持 wifi 堆栈/无线电处于完全活动模式,以便它可以接受连接。

    一般而言,您希望从设备远程访问的数据应主动上传到相互可见的服务器。如果您想向设备发送请求,请考虑使用 Google Cloud Messaging 之类的东西,它旨在唤醒设备和设备上的接收应用程序,以便发送简短的消息。

    【讨论】:

    • 谢谢您的回答。你知道 GCM 传递消息的速度有多快吗?我有一个要求,该服务器必须立即通知设备(或者在最坏的情况下一秒钟)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-07
    • 2019-12-17
    • 2010-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-12
    相关资源
    最近更新 更多