【发布时间】:2014-04-19 11:16:37
【问题描述】:
我已经为此苦苦挣扎了三天。它是一个 android 客户端应用程序,通过本地网络上的 Wifi 连接到服务器 AIR 应用程序。 我需要我的应用程序在每次启动时连接到服务器,而不要求用户输入本地 IP,以防它发生变化。 似乎有很多方法可以确保连接成功,但我想确保我可以在没有 RTMFP 或 PHP 或 SharedObject 东西的帮助下进行。 我可以使用 Android 客户端的 NetworkInterface 和 NetworkInfo ANE 获取本地 IP。然后我使用变量 mySocket.connect(ipAddress, 8888);
但是有一个问题: 1) 通过 Wifi 在 Android 上调试时 检测到的IP 192.168.137.2 2)在Flash上调试时,在电脑上 检测到的IP 192.168.137.3 所以,本地IP是不一样的。所以客户端无法连接。如果我手动设置该 IP,一切正常,但我需要一个可以工作的代码,即使本地网络上的 IP 发生了变化。
正如我提到的,在 IP 更改时创建一个 textInput 字段并要求用户手动输入 IP 不是一个选项。
我的问题是为什么使用“localhost”作为 socket.connect(host, port) 的主机参数不起作用?如果是这样,则根本不需要检测本地 IP。 “本地主机”仅在客户端在计算机上运行时才对我有用,而不是在 Android 上运行。 是安全策略文件的问题吗?如果是这样,我不知道如何使用它。我找不到任何关于它的教程。
【问题讨论】:
标签: android actionscript-3 flash sockets localhost