Search code examples
flutterparse-platformparse-server

Problem with setup LiveQuery to work with Flutter


i have seen many tutorials how to setup LiveQuery (most of them were prepared for back4app servers) However i found some tutorials made for self hosted servers and there was something like "index.js" which I believe is in this app "app.js". I've put like this code inside of var api = new ParseServer({...

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

and after that I put this:

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

Still doesn't work and I'm not even sure how this url liveQueryUrl: keyLiveQueryUrl looks like.

According to flutter doc's https://pub.dev/packages/parse_server_sdk_flutter i need this to use Live Query.

It's hosted on http so as I know it's:

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

For example in this parser there's index.js with pre setup live query https://github.com/parse-community/parse-server-example/blob/master/index.js I've tried to copy some code to my app.js in many variation but couldn't handle it.


Solution

  • So i finally find out the problem. The problem was this port 1337 that i wanted to use was blocked by default. I checked list of free ports, change it to the other port and now I'm connected:

    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}