2017-04-09 6 views
2

간단한 meteor create hellometeor 명령으로 내 첫 번째 Meteor 앱을 학습하고 구현 한 다음 ngrok을 사용하여 localhost:3000 포트를 실시간으로 생성했습니다.Android 용 Meteor Backend 용 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(); 

하지만이 코드를 실행하려고 모든 시간, 나는 들어, 다음과 같은 오류를 받고 있어요 나는 인터넷 검색과 독서의 지난 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.

답변

1

Meteor가 ws://.../websocket url에 websocket 연결을 가지고 있다는 것을 모르기 때문에 십자가에 못박을 것입니다.

이전 URL의 끝에 /websocket을 추가했으며 모든 것이 원활하게 작동합니다.