2017-04-09 39 views
2

我剛剛學會和實施我的第一個流星應用程序簡單meteor create hellometeor命令,然後用ngrok使localhost:3000端口生活。OpeningHandshakeException對於Android應用程序流星後端

然後我用delight-im/Android-DDP庫連接到直接ws網址按下面的代碼:

// 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(); 

但每一次我嘗試運行這段代碼,我發現了以下錯誤,對於其中我發現谷歌搜索和閱讀的過去6個小時中沒有暗示或直接的解決方案,對於像平臺流星像我這樣的新手:

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) 

可能是我缺少一個很平常的事在流星服務器端,因爲我沒有在其中編寫一行代碼,而不是啓動項目。
請在這方面給我啓發。 TIA。
TIA。

回答

1

我應該被釘在十字架上,因爲我不知道Meteor的網址是ws://.../websocket url。

我剛剛在前一個URL的末尾添加了/websocket,並且所有內容都一樣順暢。