适用于Android应用程序的Meteor Backend的OpeningHandshakeException

图希德

我刚刚用简单的meteor create hellometeor命令学习并实现了我的第一个Meteor应用程序,然后使用ngrok启用localhost:3000端口。

然后,根据以下代码,我使用了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个小时的谷歌搜索和阅读过程中,对于像Meteor这样的平台上的新手来说,都会遇到以下错误,但我没有发现任何建议或简单的解决方案:

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)

可能是我在Meteor服务器端缺少一个非常普通的东西,因为除了启动项目之外,我没有在其中编写任何代码。
在这方面请赐教。
TIA。

图希德

我应该被钉在十字架上,因为不知道Meteor在ws://.../websocketurl上有它的websocket连接

我刚刚/websocket在上一个URL的末尾添加了内容,并且一切正常。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

适用于Android应用程序的后端

适用于Android的Qt:更改应用程序图标

适用于Android应用程序的RESTful Web服务

调试适用于Android平台的离子应用程序

适用于Android应用程序的Java多维数组

适用于桌面/ios/android 的 Angular 应用程序

适用于应用程序的Android测试代码?

适用于本机Android应用程序的Cordova插件

适用于Android应用程序的数据库

HTTPS请求不适用于android应用程序

使用适用于Android应用程序的Google Map

适用于 Android 应用程序的 SQL 或 Firebase

MongoDB或适用于Android的Google Mobile Backend Starter?

将SpringMVC应用程序连接到适用于Android应用程序的MBaaS

找不到XF绑定..属性,仅适用于我的Android应用程序,而不适用于iOS

Android应用程序中的Firebase云消息传递仅适用于通知而不适用于数据消息

需要关于 kivy mapview 的帮助,适用于 Windows,但不适用于 android,应用程序无法启动

主屏幕应用程序快捷方式不适用于android。应用未安装

Android 模拟器主机文件不适用于 android 应用程序

Android ACRA-适用于Android的应用程序崩溃报告

在Android模拟器中安装应用程序显示“此应用程序不适用于您的设备”

如何使用适用于Android 7.1应用程序的ShortcutManager API创建动态应用程序快捷方式?

适用于 Android 移动应用程序和 Windows pc 应用程序的在线数据库

适用于Android的Google Maps API 2“很遗憾,应用程序已停止。”

NativeScript 应用程序名称中的撇号不适用于 Android/ios 部署

适用于Android的GoogleAnalytics SDK v4-集成-损坏了我的应用程序

是否有适用于Android / iOS的Ionic功能演示应用程序?

适用于openCV应用程序的基于Android Windows的模拟器?

更改应用程序语言(本地化)不适用于api 23 android