【问题标题】:Android app can`t connect to LAN serverAndroid 应用程序无法连接到 LAN 服务器
【发布时间】:2016-01-07 15:29:41
【问题描述】:

我正在构建通过套接字连接到 tcp 服务器的 android 应用程序。 当我在 Windows 上运行服务器(java 服务器)时,应用程序连接、发送、接收等都很好,但是当我在 linux(OpenSuse 13.2 kde 桌面)上运行服务器(相同代码)时,应用程序只能在模拟器上连接。如果我在我的 LG Magna 上运行它,它不会连接。我正在使用我能找到的所有互联网权限。

【问题讨论】:

    标签: android linux


    【解决方案1】:

    您必须检查是否可以 ping 两个设备。您必须从 android 获取 ip,然后从您的 serwer 尝试从另一个 ping 一个。到 android 你可以连接 throwed adb。但是,如果您从 Linux ping Android 就可以了。我很确定你做不到。

    【讨论】:

    • 我刚刚ping了安卓设备,它反应良好。
    【解决方案2】:

    您可以尝试通过 putty/telnet 连接到您的服务器 - 甚至可以从您的服务器检查您的套接字是否已打开。如果您在服务器上创建套接字时无法打开端口,则可能有任何信息/警告/eroor。如果没有,连接时的消息是什么,可能有问题。

    【讨论】:

    • 我可以从 java 客户端连接。只有 android 设备无法连接到此服务器,并且只有服务器在 linux 上。
    • 所以你必须检查连接的双方,你必须实施错误警告消息检查。你必须找到他们正在工作的接口,也许有什么问题。如果不是什么问题,任何来自此的任何警告套接字都会在两侧打开?也许在 adb 日志中会有一些信息?
    • 日志中没有警告,并且代码看起来很好,因为它在 Windows 上运行。也许linux有防火墙阻止android连接?
    • 也许可以,但在这种情况下,您将在 linux 日志中获得您尝试连接的信息。这是如何向防火墙添加服务unixmen.com/quick-tip-allow-services-firewall-opensuse 的主题和如何禁用它的主题insanelabs.com/linux/opensuse-disable-firewall-completely 但我不推荐此解决方案-您只能在必要时进行测试。
    猜你喜欢
    • 2021-04-22
    • 1970-01-01
    • 2015-09-21
    • 1970-01-01
    • 2016-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-17
    相关资源
    最近更新 更多