Socket.IO stops working randomly until page refresh
Les mainteneurs répondent en général sous 2 jours
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 25/100
- Type d'issue
- Bug
- Clarté
- À clarifier
- Activité
- À l'abandon
- Stack technique
- node.js, redis, typescript
- Domaine
- backend, networking
Piste de recherche
Commencez par la configuration de connexion du frontend TypeScript fournie et la configuration de démarrage du backend, puis reproduisez la déconnexion aléatoire tout en observant le comportement de namespace, de reconnexion et de Redis. Le travail est terminé lorsqu’une cause reproductible est identifiée et qu’un fix limité ou un résultat de diagnostic est documenté ; l’issue ne nomme aucun fichier ni test du repository.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Hi, I'm using Socket.IO in a Node.js project, and sometimes the socket connection just stops working. The only way to get it working again is by refreshing the browser page.
I'm using namespaces to separate tenants, and Redis to manage socket IDs. Here is my frontend and backend configuration:
Frontend (Client-side):
export function connectSocketToNamespace(namespace: string): void {
socket = io(`${import.meta.env.VITE_SERVER_URL}/${namespace}`, {
auth: {
token: getAuthToken()
},
query: {
sessionKey: getSession()
},
transports: ["websocket"],
upgrade: false,
reconnection: true,
reconnectionAttempts: Infinity,
reconnectionDelay: 2000,
reconnectionDelayMax: 10000,
randomizationFactor: 0.5,
});
}
Backend (Server-side - AdonisJS):
public boot() {
if (!this.booted) {
this.io = new Server(AdonisServer.instance!, {
maxHttpBufferSize: maxUploadFileSize(),
pingInterval: 10000,
pingTimeout: 25000,
cors: {
origin: Env.get('CLIENT_URL')
}
});
this.booted = true;
this.configureNamespaces();
this.clearOldSockets();
}
}
There are no errors in the console or server logs, and this issue happens randomly.
Has anyone experienced something similar? Could this be related to the Redis adapter or the namespace handling? Any suggestions on debugging or fixing this issue?
Thanks in advance!
- Langage dominant
- TypeScript
- Étoiles
- 63.2k
- Forks
- 10.2k
- Merge moyen
- 6 j 4 h
- PR mergées (30 j)
- 6
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de socketio/socket.io
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 2 jours
-
Raise Engine.IO minimum to 6.6.10 for published security fixesPeut-être pris @harshit-exe-dev l’a pris il y a 28 jours. Ouverte
Difficulté 1/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 2 jours
-
Can't set response headers in Server.handleUpgradePeut-être pris @MsfPablo l’a pris il y a 89 jours. Ouvertequestion
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
socketio/socket.io#5497 · 2 commentaires ·
Les mainteneurs répondent en général sous 2 jours
-
WebTransport ignores query parameters in URLPeut-être pris @cyphercodes l’a pris il y a 177 jours. Ouverteneeds major release question
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
socketio/socket.io#5496 · 3 commentaires ·
Les mainteneurs répondent en général sous 2 jours
-
cleanupEmptyChildNamespaces releases a child namespace while a socket is in its middleware, and the cleanup unregisters a newer namespace by namePeut-être pris @Jeremiah-D l’a pris il y a 5 jours. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 54/100
Les mainteneurs répondent en général sous 2 jours
Toutes les issues de socketio/socket.io
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 1 jour
-
mcp: create_app refuses the Assistant Inbox spec as 'looks like an API key' (nesting deeper than 8)Ouverteagent:claude agent:ready dogfood type:bug
Difficulté 2/5 1-3 heures Accessibilité débutants 79/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 79/100
opennextjs/opennextjs-cloudflare#1485 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement lane: fast tier: should-stable
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
unicef/adt-studio#1078 ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
WenyuChiou/agent-board#1283 ·
Les mainteneurs répondent en général sous 1 jour