firebase / firebase/firebase-cpp-sdk
Unable to establish WebSocket connection with Firebase C++ SDK
- Lenguaje dominante
- C++
- Estrellas
- 326
- Forks
- 137
- Merge medio
- 3 d 9 h
- PR fusionados (30 d)
- 5
Descripción
### [REQUIRED] Please fill in the following fields:
* Pre-built SDK from the [website](https://firebase.google.com/download/cpp) 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
```bash
$ curl "https://....firebaseio.com/.../msg.json?auth=$(cat token)"
```
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.
Guía de contribución
Línea de trabajo
No se especifica ningún archivo fuente ni ninguna prueba. Empieza por rastrear la conexión WebSocket de Firebase Realtime Database en Linux y comparar su fallo con la solicitud REST que funciona y con el cliente WebSocket seguro independiente. Se considera terminado cuando se haya identificado la causa específica del SDK y se haya establecido la conexión para recibir las actualizaciones de la base de datos en tiempo real.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- cpp
- Área
- databases, networking
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100