Skip to main content
  • Connect: CometChat.connect()
  • Disconnect: CometChat.disconnect()
  • Disable auto-connect: AppSettings.AppSettingsBuilder().autoEstablishSocketConnection(false).build()
  • Use case: Manual control for battery optimization or specific app flows
  • Related: Connection Status · Connection Behaviour · Setup

Default SDK behaviour on login

When the login method of the SDK is called, the SDK performs the below operations:
  1. Logs the user into the SDK
  2. Saves the details of the logged in user locally.
  3. Creates a web-socket connection for the logged in user.
This makes sure that the logged in user starts receiving real-time messages as soon as he logs in. When the app is reopened and the init() method is called, the web-socket connection to the server is established automatically. If you wish to connect and disconnect to the web-socket server manually, refer to the section below.

Managing the Web-socket connections manually

The CometChat SDK allows you to take control of the web-socket connection. Follow these steps:
  1. While calling the init() function on the app startup, use the autoEstablishSocketConnection() method provided by the AppSettingsBuilder class. If set to true, the SDK manages the web-socket connection internally. If set to false, you handle it manually:
let appSettings = AppSettings.AppSettingsBuilder()
									.setRegion(region: "us")
									.autoEstablishSocketConnection(false)
									.build()

let _ =  CometChat.init(appId:"1976246d33493296",
                        appSettings: appSettings,
                        onSuccess: { (Success) in
            print( "Initialization onSuccess \(Success)")
        }) { (error) in
            print( "Initialization Error Code:  \(error.errorCode)")
            print( "Initialization Error Description:  \(error.errorDescription)")
        }
  1. You can manage the connection to the web-socket server using the connect() and disconnect() methods provided by the SDK.
  2. Connect to the web-socket server
Use the connect() method provided by the CometChat class to establish the connection. Make sure the user is logged in before calling this method (CometChat.getLoggedInUser()). Once connected, you will start receiving all real-time events for the logged in user.
CometChat.connect()
  1. Disconnect from the web-socket server
Use the disconnect() method to break the established connection. Once disconnected, you will stop receiving all real-time events.
CometChat.disconnect()

Next Steps

Connection Status

Monitor the SDK connection state in real time

Connection Behaviour

Understand default WebSocket connection lifecycle

All Real-Time Delegates

Complete reference for all SDK event delegates

Setup SDK

SDK installation and initialization guide