当前位置: 首页 > 知识库问答 >
问题:

解析服务器LiveQuery没有响应

东门奕
2023-03-14

我使用两个解析服务器,一个用于主数据库,一个用于liveQuery。我还通过AWS ElastiCache设置了redis。问题是当我在客户端(iOS)中使用实时查询时,没有显示任何事件。代码对任何更改都没有响应。这里会有什么问题?

一个问题:来自AWS Elasticache的redisURL是这样的:(这会导致服务器启动错误)appname.jajj2i.0001.use1.cache.amazonaws.com:6379

我应该像这样在开头添加redis://吗:(我已经这么做了)redis://appname.jajj2i.0001.use1.cache.amazonaws.com:6379

我的主解析服务器代码如下:

var express = require('express');
var ParseServer = require('parse-server').ParseServer;
var app = express();
// Specify the connection string for your mongodb database
// and the location to your Parse cloud code
var S3Adapter = require('parse-server').S3Adapter
var api = new ParseServer({
    databaseURI: "main_database_uri",
    appId: "main_app_id",
    masterKey: "main_master_key",
    fileKey: "main_file_key",
    serverURL: "main_server_rul",

liveQuery: {
    classNames: ['Chats', 'Messages'],
    redisURL: 'redis_url'
  },

filesAdapter: new S3Adapter(
    "S3_Key",
    "S3_key",
    "S3_bucket_name",
    {directAccess: true}
  ),

});
// Serve the Parse API on the /parse URL prefix
app.use('/parse', api);

var port = 1337;
app.listen(port, function() {
    console.log('parse-server running on port ' + port);
});

//Parse Dashboard
var ParseDashboard = require('parse-dashboard');
var dashboard = new ParseDashboard({
    apps: [
        {
            appName: "My Bitnami Parse API",
            appId: "appId",
            masterKey: "masterKey",
            fileKey: "fileKey",
            production: true,
            serverURL: "serverUrl"
        }
    ],
    users: [
        {
            user: "username",
            pass: "password"
        }
    ], useEncryptedPasswords: true
});

var allowInsecureHTTP = true;

// Serve the Parse Dashboard on the /parsedashboard URL prefix
app.use('/', dashboard);

var portdash = 4040;
app.listen(portdash, function() {
    console.log('parse-dashboard running on port ' + portdash);
});

我的liveQuery服务器代码如下:

var express = require('express');
var ParseServer = require('parse-server').ParseServer;
var app = express();
// Specify the connection string for your mongodb database
// and the location to your Parse cloud code
var api = new ParseServer({
    databaseURI: "main_database_uri",
    appId: "live_appId",
    masterKey: "live_master_key",
    fileKey: "live_file_key",
    serverURL: "live_server_url"
});
// Serve the Parse API on the /parse URL prefix
app.use('/parse', api);

var port = 1337;
app.listen(port, function() {
    console.log('parse-server running on port ' + port);
});

//Parse Dashboard
var ParseDashboard = require('parse-dashboard');
var dashboard = new ParseDashboard({
    apps: [
        {
            appName: "My Bitnami Parse API",
            appId: "appid",
            masterKey: "masterkey",
            fileKey: "filekey",
            production: true,
            serverURL: "serverUrl"
        }
    ],
    users: [
        {
            user: "username",
            pass: "password"
        }
    ], useEncryptedPasswords: true
});

var allowInsecureHTTP = true;
// Serve the Parse Dashboard on the /parsedashboard URL prefix
app.use('/', dashboard);

var portdash = 4040;
app.listen(portdash, function() {
    console.log('parse-dashboard running on port ' + portdash);
});


var porthttp = 8030;
var httpServer = require('http').createServer(app);
httpServer.listen(porthttp, function() {
  /* Create HTTP server successfully */
});

ParseServer.createLiveQueryServer(httpServer, {
  redisURL: 'RedisUrl' // Redis URL from Main app
});

我的客户代码:

override func viewDidLoad() {
    super.viewDidLoad()

    let client = Client(server: "liveQuery_server", applicationId: "liveQuery_appId", clientKey: nil)

    Chats.registerSubclass()

    let query = PFQuery(className: "Chats").whereKey("chats", equalTo: "zaa")

    subscription = client.subscribe(query)

    subscription?.handle(Event.created) { (query, object) in

        print(object)

    }

}

共有1个答案

武功
2023-03-14
import ParseLiveQuery
import BoltsSwift

let liveQueryClient: Client = ParseLiveQuery.Client(server: "wss://server.io")



 private var subscription: Subscription<PFObject>!
    var messagesArray : [PFObject] = [PFObject]()
    var msgQuery = PFQuery(className: "Inbox").whereKeyExists("message")
 类似资料:
  • 我得到错误:com.microsoft.sqlserver.jdbc.SQLServerException:驱动程序无法通过使用安全套接字层(SSL)加密建立到SQL服务器的安全连接。错误:“SQL服务器没有返回响应。连接已关闭。” Hibernate配置: application.properties: pom.xml: SQLServerException: openssl客户端连接服务器:1

  • 我有一个react本机应用程序,它使用与。NET Core2.1通信的signalR。 套接字连接没有任何错误。一切都很好。但是服务器不能响应客户端的ping消息,并返回504给客户端。当返回504时,客户端的连接关闭。在hubconnection.onclose()处理。然后客户端需要重新连接。 proxy_read_timeout可以设置为高毫秒。但很乱。 所以我不能在客户机上有效地使用kee

  • 我正在使用Selenium、C#、NUnit编写测试,有时会出现以下错误:- OpenQA。硒。WebDriverException:服务器没有响应url httö/löcalhost:7055/hub/session/8dd13f5c-7ca6-4aa6-babc-f0ff6d940f0a/element 下面是堆栈跟踪: OpenQA。硒。WebDriverException:服务器没有响应O

  • 简介 Laravel 服务容器是用于管理类的依赖和执行依赖注入的工具。依赖注入这个花俏名词实质上是指:类的依赖项通过构造函数,或者某些情况下通过「setter」方法「注入」到类中。 来看一个简单的例子: <?php namespace App\Http\Controllers; use App\User; use App\Repositories\UserRepository; use App

  • 我目前在上收到此错误。我正在使用php,然后我刚刚重新启动了我的计算机,当我打开时,它显示了这个错误。不知道会发生什么。我现在要做什么?我找了很多 上面写着,错误 MySQL说:文档 配置中定义的controluser连接失败。

  • 首先欢迎关注我的博客: www.leoyang90.cn 服务容器对对象的自动解析是服务容器的核心功能,make 函数、build 函数是实例化对象重要的核心,先大致看一下代码: public function make($abstract) { $abstract = $this->getAlias($abstract); if (isset($this->deferredSer