Http链接重复利用给websocket时的错误

Aperta
#39 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
lua
Ambito
networking

Direzione di ricerca

Inizia in websocket/client.lua al controllo di getreusedtimes e segui il percorso con cui le connessioni HTTP in pool arrivano al client WebSocket. Riproduci il caso in cui viene riutilizzata una connessione HTTP chiusa, quindi determina il comportamento previsto dell'handshake e verificalo con i test disponibili nel progetto o con una riproduzione minima.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

websocekt/client.lua

local count, err = sock:getreusedtimes()
if not count then
return nil, "failed to get reused times: " .. err
end
if count > 0 then
-- being a reused connection (must have done handshake)
return 1
end

-- do the websocket handshake:

当一个http链接关闭之后,如果这个http链接,被websocket链接从链接池里面取出来时,则这个链接的reusedtimes时大于0的,然后这个链接不会被handshake。

Lingua principale
Lua
Stelle
524
Fork
112
Merge medio
1h 20m
PR unite (30g)
3

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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di openresty/lua-resty-websocket

Tutte le issue di openresty/lua-resty-websocket

Issue simili

Altre issue su Lua

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.