v3์ผ๋ก ์
๊ทธ๋ ์ด๋ํ ํ ํด๋ผ์ด์ธํธ ์ธก์ด๋ ์๋ฒ ์ธก์์ socket.disconnect()
๋ฅผ ํธ์ถํ๋ฉด Manager์ ๊ธฐ๋ณธ ์ฐ๊ฒฐ๋ ๋ซํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋์ผํ ๊ด๋ฆฌ์/๊ธฐ๋ณธ ์ฐ๊ฒฐ์ ์ฌ์ฉํ๋ ๋ค๋ฅธ ๋ชจ๋ ์์ผ๋ ์ฐ๊ฒฐ์ด ๋์ด์ง๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ์ด๋์ ์ ์ถํด์ผ ํ๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์๋ง๋ engine.io v4์ ๋ฃจํธ๊ฐ ์์ต๋๊น?
๋ค์์ ์ ๊ทธ๋ ์ด๋ ์ค ๋ด ํ๋ก์ ํธ์ ์ฐจ์ด์ ์ ๋๋ค . ๊ด๋ จ ์๋ ๋ณ๊ฒฝ ์ฌํญ๋ ํฌํจ๋์ด ์๋ ์ ์ฌ๊ณผ๋๋ฆฝ๋๋ค. ๊ฐ์กฐํ๊ณ ์ถ์ ๊ฒ์ ์ฐ๊ฒฐ์ ์ค์ ํ๊ณ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ณ๊ฒฝํ์ง ์์๋ค๋ ๊ฒ์ ๋๋ค("์ฐ๊ฒฐ ํด์ ", "๋ซ๊ธฐ", "io.socket"์ ๋ํด cmd+F ๊ฐ๋ฅ).
์ด jsfiddle ์ ์ฐธ์กฐํ์ญ์์ค.
v2 ๋์์ ํด๋ผ์ด์ธํธ ์ธก๊ณผ ์๋ฒ ์ธก์์ socket.close()
๋ฅผ ํธ์ถํ๋ฉด ๊ด๋ฆฌ์์ ์ฌ๋ฌ ๋ค์์คํ์ด์ค๊ฐ ์๋ ๊ฒฝ์ฐ์๋ง ํด๋น ์์ผ์ ๋ซ์์ผ ํ๋ค๋ ๊ฒ์
๋๋ค. ์ฆ, ํด๋น ์์ผ์ ๊ด๋ฆฌ์ ์๋์ ์๋ ๋ชจ๋ ๋ค์คํ ์์ผ์ ๋ซ์ง ์์์ผ ํฉ๋๋ค.
๋์ socket.io v2๋ฅผ ์ฌ์ฉํ ๋ ๋์ ์ฐจ์ด๋ฅผ ๊ด์ฐฐํ์ญ์์ค.
๋๋ ๋ฌด์ธ๊ฐ๋ฅผ ๊นจ๋จ๋ ธ๋ค๊ณ ์๊ฐํ๋ฉด์ ๋ด ์์ ์ ์ฝ๋๋ฅผ ๋๋ฒ๊น ํ๋ ๋ฐ ๋ง์ ์๊ฐ์ ๋ณด๋์ต๋๋ค.')
์์ ์ ๊ธฐ๋ํฉ๋๋ค! ๊ทธ๋ฆฌ๊ณ 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]
ํฌํจ)์ ์ํด ์์ ๋์ด์ผ ํฉ๋๋ค.
๋ค์ ํ ๋ฒ, ์์ธํ ๋ณด๊ณ ์์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์ ๋ง ๋์์ด ๋ฉ๋๋ค!