Skip to content

Connection Management

A client application running on a device or in a browser maintains a connection with the Backendless Real-Time Database. There is always only one connection for a single client, even though it may have multiple listeners for different data tables. The connection status can be tracked in the application using connection event handlers:

Connection Established Event

The event is dispatched when the client application establishes a connection with the Real-Time Database. Once a connection is established, real time database dispatches events triggered by the API calls to the client application. Add the following listener to be notified when the connection is established:

RTSubscription *subscription = [Backendless.shared.rt addConnectEventListenerWithResponseHandler:^{
    NSLog(@"Client has been connected");
}];
let subscription = Backendless.shared.rt .addConnectEventListener(responseHandler: {
    print("Client has been connected")
})

The "Connection Established" event takes place when the client application adds its very first API event listener. Additionally, the event may be triggered when the client reconnects with the real-time database after the connection is interrupted.

Disconnect Event

If the connection with the real-time database is dropped either due to network or server problems, the client application is notified via the following listener:

RTSubscription *subscription = [Backendless.shared.rt addDisonnectEventListenerWithResponseHandler:^(NSString *reason) {
    NSLog(@"Client has been disconnected: %@", reason);
}];
let subscription = Backendless.shared.rt.addDisonnectEventListener(responseHandler: { reason in
    print("Client has been disconnected: \(reason)")
})