WebSocket `Closed` fires up to 10 s after the connection is closed
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 76/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- csharp
- Ambito
- networking
Direzione di ricerca
Leggi il ciclo di ping in MaxLib.WebServer/WebSocket/WebSocketConnection.cs righe 119-135, dove avviene l'attesa di 10 s e SendCloseSignal viene controllato solo dopo. Guarda anche come viene impostato il segnale di chiusura e dove viene generato Closed, così che l'attesa possa essere annullata quando il segnale viene impostato (ad es. un ritardo annullabile o un'attesa guidata dal segnale invece di un ritardo fisso). Fatto significa che Closed scatta non appena entrambe le parti hanno scambiato frame di chiusura, senza che la pulizia dell'endpoint sia più ritardata. Non viene nominato alcun file di test, quindi verifica eseguendo un handshake di chiusura in locale.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The ping loop waits 10 s between pings and only checks SendCloseSignal after the wait
(WebSocketConnection.cs#L119-L135).
After both sides have exchanged close frames, Closed is raised only when the current wait ends. That can be up to 10 s later.
Cleanup that depends on Closed, such as removing the connection from the endpoint, is delayed by the same amount.
Expected: the wait is cancelled when the connection closes, so Closed fires right away.
- Lingua principale
- C#
- Stelle
- 1
- Fork
- 3
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Garados007/MaxLib.WebServer
-
Reason-phrase table has misspelled entries (`Unathorized`, `Switching Protcols`, `Multiple Choises`)Forse già presa @Jah-yee l’ha presa 26 giorni fa. Apertabug severity:low
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
documentation good first issue severity:low
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
-
bug security severity:medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
-
bug severity:low
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
-
bug severity:low
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
Tutte le issue di Garados007/MaxLib.WebServer
Issue simili
-
Sample solution restore fails with NU1109 (Microsoft.Extensions.Logging.Abstractions downgrade)Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
ardalis/CleanArchitecture#1150 ·
I maintainer di solito rispondono entro 1 giorno
-
Add Vigil (BofStudios/vigil)Apertaarea:data coverage
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
reacher-z/Awesome-CUA#5039 ·
I maintainer di solito rispondono entro 19 giorni
-
Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
ShareX/ShareX#9002 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
Facepunch/sbox-public#12305 ·
I maintainer di solito rispondono entro 5 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
JiaFeiMiao-K-Cat/DiscImageStudio#205 ·
I maintainer di solito rispondono entro 1 giorno