Разобрать текущий запрос: не получать события на клиенте iOS. Наш сервер Parse, размещенный в Azure App Services

Описание проблемы

Мы разместили сервер Parse в службах приложений Azure. Мы можем подключиться к живому запросу и подписаться на него. Мы получаем сообщения ниже.

2019-01-01 19:03:26.917094+0530 LiveQueryTest[59625:972922] ParseLiveQuery: Отправка сообщения:

{"clientKey":"xxxxxx","op":"connect","sessionToken":"","applicationId":"xxxxxx"}
2019-01-01 19:03:27.285251+0530 LiveQueryTest[59625:972922] ParseLiveQuery: Received message: {"op":"connected","clientId":5}
2019-01-01 19:03:27.388337+0530 LiveQueryTest[59625:972922] ParseLiveQuery: Sending message: {"query":{"className":"PostQuestionMessage","where":{"type":2}},"requestId":1,"op":"subscribe"}
2019-01-01 19:03:27.600455+0530 LiveQueryTest[59625:972813] ParseLiveQuery: Received message: {"op":"subscribed","clientId":5,"requestId":1}

И мы подписаны на событие обновления, но когда мы обновляем какие-либо записи, мы не получаем событие назад.

На сервере:

Мы попытались прослушать конкретный порт «1337», как показано ниже: каждый раз, когда мы это делаем, наша панель Parse Dashboard и API перестают работать. Итак, необходимо ли слушать определенный порт, например, «1337» или var port = process.env.PORT || 1337; также будет работать для Live Query.

var httpServer = require('http').createServer(app);
var port = 1337;
httpServer.listen(port, function() {
console.log('Parse Server running at ${port}');
console.log("The value of port is " + port);
});
ParseServer.createLiveQueryServer(httpServer);

Ожидаемые результаты

Мы должны получить обновление события в соответствии с нашей подпиской.

Фактический результат

Не получать обновления событий в соответствии с подпиской на запрос,

Настройка среды

Сервер

версия parse-server (будьте конкретны! Не говорите «последняя»). [2.3.8]

Операционная система: [Линукс]

[Удаленный сервер — Azure]

База данных

Версия MongoDB: [3.4]

[Удаленный сервер — Azure]

Журналы/трассировка

Сервер:

[32minfo�[39m: Parse LiveQuery Server начинает работать

�[32minfo�[39m: Создать нового клиента: 1

Код клиента iOS:

import UIKit
import Parse
import ParseLiveQuery

class LiveQueryManager {
    static let shared = LiveQueryManager()
    var liveQueryClient = ParseLiveQuery.Client()
    var subscription: Subscription<PostQuestionMessage>?
    var messagesQuery: PFQuery<PostQuestionMessage> {
        return (PostQuestionMessage.query()?
            .whereKey("type", equalTo: 2)) as! PFQuery<PostQuestionMessage>
    }
    init(){
        liveQueryClient.shouldPrintWebSocketLog = true
        liveQueryClient.shouldPrintWebSocketTrace = true
    }
    fileprivate func printMessage(_ message: PostQuestionMessage) {
        let createdAt = message.createdAt ?? Date()
        print("\(createdAt) : \(message.message ?? "")")
    }

    func subscribeToUpdates() {

        //https://stackoverflow.com/questions/44273455/parse-cloud-livequeries-ios-client-doesnt-work
        self.subscription = self.liveQueryClient.subscribe(messagesQuery)
        self.subscription = self.subscription?.handleEvent({ (_, event) in
            switch event {
            case .created(let object):
                print("Event Created")
                self.printMessage(object)
            // do stuff
            case .updated(let object):
                print("Event Updated")
                self.printMessage(object)

            default:
                break // do other stuff or do nothing
            }
        })

    }
    func disconnectFromSubscription() {
        if let objSubcription = self.subscription {
            self.liveQueryClient.unsubscribe(messagesQuery, handler: objSubcription)
        }

    }
    func printSubscription () {
        if let objSubscription = self.subscription {
            print ("Subscription:\(objSubscription)")
            print ("Client:\(self.liveQueryClient)")
            print ("Client userDisconnected:\(self.liveQueryClient.userDisconnected)")
        }
    }


}

person Nishith Sheth    schedule 01.01.2019    source источник
comment
когда-нибудь решить это?   -  person gk103    schedule 22.05.2019