Skip to content

Unable to establish WebSocket connection with Firebase C++ SDK #1261

Open
@cqx820

Description

@cqx820

[REQUIRED] Please fill in the following fields:

  • Pre-built SDK from the website or open-source from this repo: Open-source from this repo
  • Firebase C++ SDK version: 10.7.0
  • Main Firebase Components in concern: Auth
  • Other Firebase Components in use: Database
  • Platform you are using the C++ SDK on: Linux
  • Platform you are targeting: Desktop

[REQUIRED] Please describe the question here:

Expected behavior:

I expect to be able to establish a WebSocket connection using the Firebase C++ SDK and receive real-time updates of the database.

Actual behavior:

The WebSocket connection fails to establish using the Firebase C++ SDK, but a simple WebSocket client I wrote could build a secure connection (wss) to a public websocket server on the same device. The Firebase Realtime Database REST API connection works without any issues.

Description:

I am experiencing an issue with the Firebase C++ SDK, where I am unable to establish a WebSocket connection to the Firebase Realtime Database server. Here is the log message:

DEBUG: [conn_1170] websocket error occurred.  Uri: wss://....firebaseio.com/.ws?ns=...&v=5
DEBUG: Error occurred while establishing connection to wss://....firebaseio.com/.ws?ns=...&v=5
DEBUG: [conn_1170] Closing connection. Reason: 4
DEBUG: [pc_0] Got on disconnect due to 4

However, when I tested the connection using a simple WebSocket client I wrote on the same device, it was able to connect successfully. So it might not be a router's firewall setting issue.

I also tested the connection using the Firebase Realtime Database REST API with the same credential by doing

$ curl "https://....firebaseio.com/.../msg.json?auth=$(cat token)"
<response message>

and it worked without any issues. This suggests that the issue is specific to the WebSocket functionality of the Firebase C++ SDK.

I have checked my code for any errors or issues and ensured that I am using the correct credentials and endpoint URLs. I am using the latest version of the Firebase C++ SDK, and have followed the documentation provided by Firebase.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions