【问题标题】:Can an Androip app on Chromebook create a socket TCP server, listen connections and connect to other socket server on LAN network?Chromebook 上的 Android 应用程序可以创建套接字 TCP 服务器、侦听连接并连接到 LAN 网络上的其他套接字服务器吗?
【发布时间】:2020-03-23 15:32:30
【问题描述】:

我有一个 android 应用程序,它创建一个套接字 TCP 服务器来监听来自 Windows 应用程序的连接。有时它会连接到 windows 应用程序上的套接字服务器。

它可以在安卓设备上正常工作。它还可以接收广播数据包。 但是,当我在 Chromebook 上安装时,它不起作用。

它无法监听任何连接、接收任何数据包或连接到 windows 应用上的服务器。

谁能帮我解释原因并指导我一些解决方案来解决?

最好的问候。

【问题讨论】:

    标签: android sockets chromebook


    【解决方案1】:

    我了解 Chromebook 中的网络,并在这里找到网络服务发现作为解决方案 https://developer.android.com/topic/arc

    检查网络要求

    Chromebook 在一个容器中运行整个 Android 操作系统,类似于 Docker 或 LXC。这意味着 Android 将无法直接访问系统的 LAN 接口。相反,IPv4 流量将通过网络地址转换 (NAT) 的内部层,而 IPv6 单播流量将通过额外的跃点进行路由。从 Android 应用程序到 Internet 的出站单播连接大部分应该按原样工作;但总的来说,入站连接被阻止。来自 Android 的组播或广播数据包不会通过防火墙转发到 LAN。

    作为多播限制的一个特殊例外,Chrome 操作系统运行一项服务,在 Android 和 LAN 接口之间转发 mDNS 流量,因此推荐使用标准网络服务发现 API 来发现 LAN 网段上的其他设备。在 LAN 上找到设备后,Android 应用可以使用标准 TCP 或 UDP 单播套接字与其通信。

    来自 Android 的 IPv4 连接将使用 Chrome 操作系统主机的 IPv4 地址。在内部,Android 应用程序将看到分配给网络接口的私有 IPv4 地址。源自 Android 的 IPv6 连接将使用与 Chrome OS 主机不同的地址,因为 Android 容器将具有专用的公共 IPv6 地址。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-13
      • 2015-09-29
      • 2011-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多