使用 DDP 协议发送授权请求时连接状态关闭

Connection state is closed when sending authorization request using DDP protocol

我正在使用 kenyee 的 Android DDP Client library 将我的 Android 应用程序连接到服务器 运行 Meteor-JS。

我修改了他的Meteor.js Parties ANdroid Demo。我尝试使用现有用户凭据登录并出现登录错误。请帮忙!

我使用以下设置创建 DDPStateSingleton

String meteorServer = "http://<sandbox_name>.nitrousbox.com";
Integer meteorPort = 3000;
mInstance = new MyDDPState(context, meteorServer, meteorPort);

(Meteor-js 服务器是 运行 在 nitrous.io 沙箱中)然后我执行用户登录尝试:

MyDDPState.getInstance().login(mEmail, mPassword);

但是我得到 WebsocketNotConnectedException(它是从 org.java_websocket.WebSocketImpl#send(String) 抛出的)所以我的登录请求以错误消息结束

"Unknown websocket error (exception in callback?)"

异常期间的单例状态:

mConnState = Closed
mMeteorServerAddress = ws://http://<sandbox_name>.nitrousbox.com:3000/websocket

很奇怪,尽管之前调用了 connectIfNeeded(),但我看到连接已关闭。

UPD:
从 DDP 服务器收到的第一个异步消息的类型为 error.
第二个接收到的异步消息是 closed.

类型

java.nio.channels.UnresolvedAddressException。 主机名应在没有协议的情况下指定:

String meteorServer = "<sandbox_name>.nitrousbox.com";