Socket.io-client: ์†Œ์ผ“์˜ v3 ์—ฐ๊ฒฐ ํ•ด์ œ๋Š” ๊ธฐ๋ณธ ์—ฐ๊ฒฐ์„ ๋‹ซ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2020๋…„ 11์›” 16์ผ  ยท  4์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: socketio/socket.io-client

์›ํ•˜๋Š” ์ž‘์—…:

  • [x] ๋ฒ„๊ทธ ๋ณด๊ณ 
  • [ ] ๊ธฐ๋Šฅ ์š”์ฒญ

ํ˜„์žฌ ํ–‰๋™

v3์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•œ ํ›„ ํด๋ผ์ด์–ธํŠธ ์ธก์ด๋‚˜ ์„œ๋ฒ„ ์ธก์—์„œ socket.disconnect() ๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด Manager์˜ ๊ธฐ๋ณธ ์—ฐ๊ฒฐ๋„ ๋‹ซํžˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋™์ผํ•œ ๊ด€๋ฆฌ์ž/๊ธฐ๋ณธ ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•˜๋Š” ๋‹ค๋ฅธ ๋ชจ๋“  ์†Œ์ผ“๋„ ์—ฐ๊ฒฐ์ด ๋Š์–ด์ง‘๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ์–ด๋””์— ์ œ์ถœํ•ด์•ผ ํ•˜๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ์•„๋งˆ๋„ engine.io v4์— ๋ฃจํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

๋‹ค์Œ์€ ์—…๊ทธ๋ ˆ์ด๋“œ ์ค‘ ๋‚ด ํ”„๋กœ์ ํŠธ์˜ ์ฐจ์ด์ ์ž…๋‹ˆ๋‹ค . ๊ด€๋ จ ์—†๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ๋„ ํฌํ•จ๋˜์–ด ์žˆ๋Š” ์  ์‚ฌ๊ณผ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๊ฐ•์กฐํ•˜๊ณ  ์‹ถ์€ ๊ฒƒ์€ ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์•˜๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค("์—ฐ๊ฒฐ ํ•ด์ œ", "๋‹ซ๊ธฐ", "io.socket"์— ๋Œ€ํ•ด cmd+F ๊ฐ€๋Šฅ).

์žฌํ˜„ ๋‹จ๊ณ„(ํ˜„์žฌ ๋™์ž‘์ด ๋ฒ„๊ทธ์ธ ๊ฒฝ์šฐ)

์ด jsfiddle ์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

์˜ˆ์ƒ๋˜๋Š” ํ–‰๋™

v2 ๋™์ž‘์€ ํด๋ผ์ด์–ธํŠธ ์ธก๊ณผ ์„œ๋ฒ„ ์ธก์—์„œ socket.close() ๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ๊ด€๋ฆฌ์ž์— ์—ฌ๋Ÿฌ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ์—๋งŒ ํ•ด๋‹น ์†Œ์ผ“์„ ๋‹ซ์•„์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ํ•ด๋‹น ์†Œ์ผ“์˜ ๊ด€๋ฆฌ์ž ์•„๋ž˜์— ์žˆ๋Š” ๋ชจ๋“  ๋‹ค์ค‘ํ™” ์†Œ์ผ“์„ ๋‹ซ์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์„ค์ •

  • ์šด์˜ ์ฒด์ œ: ์œˆ๋„์šฐ 10
  • ๋ธŒ๋ผ์šฐ์ €: ํฌ๋กฌ 86.0
  • socket.io ๋ฒ„์ „: 3.0.0

๋Œ€์‹  socket.io v2๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋™์ž‘ ์ฐจ์ด๋ฅผ ๊ด€์ฐฐํ•˜์‹ญ์‹œ์˜ค.

๊ธฐํƒ€ ์ •๋ณด(์˜ˆ: ์Šคํƒ ์ถ”์ , ๊ด€๋ จ ๋ฌธ์ œ, ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• ์ œ์•ˆ)

๋ชจ๋“  4 ๋Œ“๊ธ€

๋‚˜๋Š” ๋ฌด์–ธ๊ฐ€๋ฅผ ๊นจ๋œจ๋ ธ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด์„œ ๋‚ด ์ž์‹ ์˜ ์ฝ”๋“œ๋ฅผ ๋””๋ฒ„๊น…ํ•˜๋Š” ๋ฐ ๋งŽ์€ ์‹œ๊ฐ„์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค.')

์ˆ˜์ •์„ ๊ธฐ๋Œ€ํ•ฉ๋‹ˆ๋‹ค! ๊ทธ๋ฆฌ๊ณ  v3๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ๋ฐ ์ˆ˜๊ณ ํ•ด ์ฃผ์…”์„œ ๋‹ค์‹œ ํ•œ ๋ฒˆ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

"connecting" ์ด๋ฒคํŠธ๋Š” ์†Œ์ผ“ ์—ฐ๊ฒฐ์—์„œ ๋ฐœ์ƒํ•˜์ง€ ์•Š์œผ๋ฉฐ ๊ด€๋ฆฌ์ž์˜ connecting ๋ฐฐ์—ด์„ ์ฑ„์šฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
https://github.com/socketio/socket.io-client/blame/master/lib/manager.ts#L599

_destroy๊ฐ€ ํ˜ธ์ถœ๋˜๋ฉด if (this.connecting.length) return; this._close(); ๋Š” ํ•ญ์ƒ ์—ฐ๊ฒฐ์„ ๋‹ซ์Šต๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ ์ฝ”๋“œ์— ๋ฌธ์ œ๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„ ์ฝ”๋“œ์—์„œ "connecting"์ด๋ผ๋Š” ์ด๋ฒคํŠธ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์€ "connecting"์˜ ๋ฐฉ์ถœ์„ ์ œ๊ฑฐํ•˜๋Š” ์ปค๋ฐ‹์ž…๋‹ˆ๋‹ค.

https://github.com/socketio/socket.io-client/commit/b60e909039d4bbb979d32ec86ac16c5398526b44#diff -f0e64910289a49966c99ceadaa5633904e34

@darrachequesne ์ด ๋ฌธ์ œ๋ฅผ ํ™•์ธํ•ด ์ฃผ

@david-fong ์‹ค์ œ๋กœ ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‹จ๊ณ„์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. +1:

์ด๊ฒƒ์€ https://github.com/socketio/socket.io-client/commit/f8f60fc860f51aa6465fc32dd9275a8e1d22f05d ( [email protected] ํฌํ•จ)์— ์˜ํ•ด ์ˆ˜์ •๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์‹œ ํ•œ ๋ฒˆ, ์ž์„ธํ•œ ๋ณด๊ณ ์„œ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ •๋ง ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค!

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰