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

时间:2015-03-27 19:53:22

标签: android meteor ddp java-websocket

我正在使用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类型。

1 个答案:

答案 0 :(得分:0)

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

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