设置 LiveQuery 以使用 Flutter 时出现问题

Problem with setup LiveQuery to work with Flutter

我看过很多如何设置 LiveQuery 的教程(其中大部分是为 back4app 服务器准备的)但是我发现了一些为自托管服务器制作的教程,其中有类似“index.js”的内容,我认为是在这个应用程序“app.js”中。我把这段代码放在 var api = new ParseServer({...

liveQuery: {
    classNames: ["Test"] //List of classes to support for query subscritions
},

然后我把这个:

var app = express();
app.use('/', api);
let httpServer = require('http').createServer(app);
httpServer.listen(1337);
var parseLiveQueryServer = ParseServer.createLiveQueryServer(httpServer);

仍然不起作用,我什至不确定这个 url liveQueryUrl: keyLiveQueryUrl 是什么样子。

根据 flutter 文档 https://pub.dev/packages/parse_server_sdk_flutter 我需要这个来使用实时查询。

它托管在 http 上,据我所知是:

ws://myIP:port/appname/ <---Like this?

例如,在这个解析器中有 index.js 和预先设置的实时查询 https://github.com/parse-community/parse-server-example/blob/master/index.js 我试图将一些代码复制到我的 app.js 中,但无法处理它.

所以我终于找到了问题所在。问题是我想使用的这个端口 1337 默认被阻止。我检查了空闲端口列表,将其更改为其他端口,现在我已连接:

I/flutter (20494): LiveQuery: : Listen: {"op":"connected","clientId":"1437a932-c260-45b8-a567-417127f68efd"}
I/flutter (20494): ReSubScription:{}
I/flutter (20494): LiveQueryReconnectingController: LiveQueryClientEvent.CONNECTED
I/flutter (20494): LiveQuery: : SubscribeMessage: {op: subscribe, requestId: 1, query: {className: Test, where: {intNumber: 1}}}
I/flutter (20494): LiveQuery: : Listen: {"op":"subscribed","clientId":"1437a932-c260-45b8-a567-417127f68efd","requestId":1}