0

我正在尝试使用 Java DDPClient 连接到正在运行的流星应用程序。

我正在使用这个 Java ddp 客户端

我刚刚将这几行添加到 Android 活动中:

DDPClient mDdp = new DDPClient(sMeteorIp, sMeteorPort);
mDdp.connect();

但我得到了例外DDPClient::handleError(Exception ex)

failed to connect to localhost/127.0.0.1 (port 3000): connect failed:
ECONNREFUSED (Connection refused)

流星应用程序已启动并运行(版本为 0.8.3,Windows 的最新版本)。
流星应用程序在这里:https
://github.com/stefanopiovesn/ProteinTracker java ddp 客户端在这里:https
://github.com/stefanopiovesn/DDPClient 一个工作的 ddp javascript 客户端在这里:https ://github.com /stefanopiovesn/AsteroidSample
知道为什么会发生此错误吗?

4

2 回答 2

0

我遇到过这个问题。一个很棒的工具是 ngrok!http://ngrok.com

它们允许您通过公共网络服务器将流量隧道传输到本地计算机。我将它用于我在外部设备上的所有开发

于 2015-03-04T02:07:13.513 回答
0

嗯,主要原因是因为当您输入“localhost”时,它是相对于您的应用程序 url。不是服务器的网址。

在这种情况下,您的服务器的 url 是您的 pc 的原始 ip,因为您的 pc 在您指定的端口上运行服务器。

您的 android 代码中的 localhost 指的是您的 android 应用程序,而不是服务器(也就是您的 pc)的 localhost。

为什么会抛出异常?- 因为您没有服务器(或您的 android 应用程序上正在侦听指定端口上的数据的任何东西) - 因为您的代码意味着您正在尝试从 Android 应用程序连接到您自己的 Android 应用程序

:)

于 2015-03-12T04:27:27.063 回答