2017-04-09 5 views
2

私はちょうどmeteor create hellometeorコマンドで初めてのMeteorアプリケーションを学んで実装した後、ngrokを使ってlocalhost:3000ポートライブを作成しました。Android用MeteorバックエンドのためのOpeningHandshakeException

その後、私は次のコードごとに直接ws URLに接続しdelight-im/Android-DDPライブラリを使用しています

// create a new instance, where mMeteor is a global var. 
    mMeteor = new Meteor(this, "ws://180a3c0e.ngrok.io", new InMemoryDatabase()); // "ws://180a3c0e.ngrok.io" is the temp. url after tunneling `localhost:3000` 

    // register the callback that will handle events and receive messages 
    mMeteor.addCallback(this); // as the activity implements MeteorCallback 

    // establish the connection 
    mMeteor.connect(); 

しかし、私はこのコードを実行しようとするすべての-時、私はのために、次のエラーを取得しています

W/System.err: java.lang.Exception: com.neovisionaries.ws.client.OpeningHandshakeException: The status code of the opening handshake response is not '101 Switching Protocols'. The status line is: HTTP/1.0 502 Bad Gateway 
W/System.err:  at im.delight.android.ddp.Meteor$1.onError(Meteor.java:195) 
W/System.err:  at com.neovisionaries.ws.client.ListenerManager.callOnError(ListenerManager.java:432) 
W/System.err:  at com.neovisionaries.ws.client.ConnectThread.handleError(ConnectThread.java:50) 
W/System.err:  at com.neovisionaries.ws.client.ConnectThread.run(ConnectThread.java:41) 
W/System.err: Caused by: com.neovisionaries.ws.client.OpeningHandshakeException: The status code of the opening handshake response is not '101 Switching Protocols'. The status line is: HTTP/1.0 502 Bad Gateway 
W/System.err:  at com.neovisionaries.ws.client.HandshakeReader.validateStatusLine(HandshakeReader.java:232) 
W/System.err:  at com.neovisionaries.ws.client.HandshakeReader.readHandshake(HandshakeReader.java:54) 
W/System.err:  at com.neovisionaries.ws.client.WebSocket.readHandshake(WebSocket.java:3113) 
W/System.err:  at com.neovisionaries.ws.client.WebSocket.shakeHands(WebSocket.java:2992) 
W/System.err:  at com.neovisionaries.ws.client.WebSocket.connect(WebSocket.java:2034) 
W/System.err:  at com.neovisionaries.ws.client.ConnectThread.run(ConnectThread.java:37) 

に、私は非常に一般的なものが欠けてることがある:私は、グーグルや読書の過去6時間の間のプラットフォームのような流星で私のような初心者のための提案やストレートなソリューションを、見つからなかっました私がしていないとして、流星のサーバー側プロジェクトを開始する以外に、その中に1行を記述します。
この点について私に教えてください。
TIA。

答えて

1

Meteorがws://.../websocket urlにwebsocket接続を持っていることを知らないために、私は十字架に付けるべきです。

私はちょうど前のURLの末尾に/websocketを追加しました。すべてが円滑に機能しています。

関連する問題