PeerJS๋ฅผ ์ฌ์ฉํ์ฌ ํ์ผ์ ์ ์กํ๋ ๋ฐ ๋ช ๊ฐ์ง ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค... ์ ์ก์ด ์ ์งํ๋๊ณ PeerJS๊ฐ DataChannel์ ๋ซ๊ณ ๋ฌด์์ด ์๋ชป๋์๋์ง์ ๋ํ ๋ก๊ทธ๊ฐ ์์ต๋๋ค. PeerJS์ ๋ํ ๋๋ฒ๊น ์ ์ผ๊ณ ๋๋ฒ๊น ๋ก๊ทธ๋ฅผ ์ป์ ์ ์๋๋ก PeerServer๋ฅผ ๋ก์ปฌ๋ก ์คํํ๊ณ ์์ต๋๋ค.
Chrome ์ฝ์์ PeerJS ๋ก๊ทธ:
... ์ ์ก์ด ์ ์งํ๋๊ณ "DataChannel closed for: abc123_f9pes" ์ค์ด ๊ธฐ๋ก๋๊ณ ์ฐ๊ฒฐ์ด ๋์ด์ง๋ฉฐ ์ ์ก์ด ๋์ด์ง๋๋ค.
PeerServer๋ ํฐ๋ฏธ๋์ ๋ก๊ทธ์ธํฉ๋๋ค.
... ์ ์ก์ด ์ ์งํ๋๊ณ ์๋ ๋ค์ 2๊ฐ์ "์์ผ ๋ซํ" ํ์ด ๊ธฐ๋ก๋๊ณ ์ ์ก์ด ์ข ๋ฃ๋ฉ๋๋ค.
์ฒซ ๋ฒ์งธ ์ง๋ฌธ์ "๋ค์์ ๋ํ ์ถ๊ฐ๋ ICE ํ๋ณด" ๋ฐ "๋ค์์ ๋ํ ์์ ๋ ICE ํ๋ณด" ํ์ด PeerJS์ ์ํด ์ฌ๋ฌ ๋ฒ ๊ธฐ๋ก๋๊ณ "CANDIDATE from" ํ์ด PeerServer์ ์ํด ๊ธฐ๋ก๋๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
๋ด ๋ ๋ค๋ฅธ ์ง๋ฌธ์ ์ฐ๊ฒฐ์ด ๋์ด์ง๋ ์ด์ ์ ๋๋ค. ์์ผ์ด ๋ซํ ์๋ ๊ฒ ๊ฐ์ต๋๋ค... ๋ฌด์์ด ์๋ชป๋ ์ ์๋์ง์ ๋ํ ์์ด๋์ด๊ฐ ์์ต๋๊น?
๋ด ํ๊ฒฝ์ ๋ํ ๊ฐ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ps ์ด ๋ฌธ์ ๋ ํด๋ผ์ฐ๋ ํธ์คํ PeerServer์ ๋ํด ์คํํ๋ ๊ฒฝ์ฐ์๋ ์ง์๋ฉ๋๋ค.
ํ์ผ์ ๋๋ฌด ๋นจ๋ฆฌ ์ฝ๊ณ ์์๊ณ WebRTC ๋ฐ์ดํฐ ์ฑ๋ ๋ฒํผ๊ฐ ๊ฐ๋ ์ฐผ์ต๋๋ค. ์ด ๋ฒํผ๋ 16MB๋ก ์ ํ๋ฉ๋๋ค.
http://viblast.com/blog/2015/2/25/webrtc-bufferedamount/
๋ง์ ๋ฉ์์ง๋ฅผ ํจ๊ป ๋ณด๋ด๋ฉด ํ ๋ฒ์ ๋ณด๋ผ ์ ์์ต๋๋ค. ์ ๋ ฅ ๋ฒํผ์ ๋ฃ์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ฒํผ๋ ๋ฌดํ์ ์ปค์ง ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ฏธ๋ฆฌ ๊ฒฐ์ ๋ ์ ํ์ด ์์ต๋๋ค. ์ ํ์ ์ด๊ณผํ๋ฉด Chrome >= 37์์ ๋ฐ์ดํฐ ์ฑ๋์ด ๋ซํ๊ณ ๋ชจ๋ ๋ฉ์์ง๊ฐ ์ญ์ ๋๊ณ ์์ธ๊ฐ ๋ฐ์ํฉ๋๋ค. ๊ทธ๋ฌ๋ Chrome <= 36์์๋ ์์ธ๋ง ๋ฐ์ํฉ๋๋ค. ๋ฐ๋ผ์ ์ด๊ฒ์ Chrome 37์์ ์ํ๋ API ์ค๋จ ๋ณ๊ฒฝ์ ๋๋ค. ๊ฐ๋ฐ์๋ ์ด์ ๋ธ๋ผ์ฐ์ ๋ฅผ ๋ค๋ฃจ๋ ๊ฒฝ์ฐ ์ด ๋ณ๊ฒฝ์ ์ฃผ์ํด์ผ ํฉ๋๋ค.
๋ง์์ฌ ... ๋๋ peerJS์์๋ ๋๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ณ ์ด๋ค ๋๋ต๋ ์ฐพ์ ์ ์์์ต๋๋ค (๋๋ ์ผ์ข ์ ๋ฒํผ์ ๊ด๋ จ๋ ๊ฒ์ด๋ผ๊ณ ๊ฐ์ ํ์ต๋๋ค). ๋ง์นจ๋ด ์์ด๋์ด๋ฅผ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ด๊ฒ์ด๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค ๋ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ญ์์ค. peerJS์๋ ๋ฒํผ๋ง์ ๋ด๋ถ ๋ฉ์ปค๋์ฆ์ด ์๋ค๋ ๊ฒ์ด ํฅ๋ฏธ๋กญ์ต๋๋ค. ๋ด๊ฐ ์ดํดํ๋ ๊ฒ์ฒ๋ผ์ด ๋ฌธ์ ์ ๋ํด ์ฌ๋ฐ๋ฅด๊ฒ ๋ง๋ค์ด์ก์ง๋ง ์ด๊ฒ์ด ๊ตฌํ ๋ ๊ฒ์ ๋ณด๋ผ ์ ์๋ค๋ ์์ธ๋ฅผ ์ก๋ ๋ฐ ์์กดํ๋ ๊ฒ์ผ๋ก ๋ณด์ด๋ฉฐ ์๋ก์ด ํฌ๋กฌ ์ฑ๋์์ ๋ฐฉ๊ธ ์ข ๋ฃ ๋ ๊ฒฝ์ฐ ์ด์ ์์คํ ์ด ์ค๋ณต๋ฉ๋๋ค. ๋๋ (๋ง์ฝ) ์ด๊ฒ์ด ์ด์ ๋ผ๊ณ ํ์ ํ๊ฒ ๋๋ ์ฆ์ ๊ทธ๊ฒ์ ๋ํด ๋ฌธ์ ๋ฅผ ์ ๊ธฐํ ๊ฒ์ ๋๋ค.
ํธ์ง: ์, ํฉ๋ฒ์ ์ผ๋ก ๋ณด์ด๊ณ bufferedAmount๋ ์ฝ 16mb๋ก ์ด๋ํ๊ณ ๋ชจ๋ ๊ฒ์ด ์คํจํฉ๋๋ค.
์, ์ด๊ฒ์ ๋ฐ๊ฒฌํ๊ธฐ ํ๋ ๋ฒ๊ทธ์์ต๋๋ค. ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ๋ง์นจ๋ด ์ดํดํ๋ ๋ฐ ๋ฉฐ์น ์ด ๊ฑธ๋ ธ์ต๋๋ค. ๋ฐ์ดํฐ ์ฑ๋ ๋ฒํผ๊ฐ ์ค๋ฒํ๋ก๋๊ณ Chrome์ด ์ฐ๊ฒฐ์ ์ข ๋ฃํ ๋ ์ ์ ํ๊ฒ ์ฒ๋ฆฌํ๋ ค๋ฉด PeerJS๋ฅผ ์ ๋ฐ์ดํธํด์ผ ํฉ๋๋ค.
๊ทธ๊ฑด ๊ทธ๋ ๊ณ , ๋๊ตฐ๊ฐ๊ฐ ์ด๊ฒ์ ์ฐ์ฐํ ๋ฐ๊ฒฌํ๋ฉด ๋ฌธ์ ๋ฅผ ์ด๊ณ ํด๋น https://github.com/peers/peerjs/issues/291 ์ ์์ ํ๊ธฐ ์ํด peer.js ์์ค์ ์ฝ๊ฐ์ ํธ์ง์ ๊ฒ์ํ์ต๋๋ค.
@UnsungHero97
๋ง์ ๋ฉ์์ง๋ฅผ ํจ๊ป ๋ณด๋ด๋ฉด ํ ๋ฒ์ ๋ณด๋ผ ์ ์์ต๋๋ค. ์ ๋ ฅ ๋ฒํผ์ ๋ฃ์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ฒํผ๋ ๋ฌดํ์ ์ปค์ง ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ฏธ๋ฆฌ ๊ฒฐ์ ๋ ์ ํ์ด ์์ต๋๋ค. ์ ํ์ ์ด๊ณผํ๋ฉด Chrome >= 37์์ ๋ฐ์ดํฐ ์ฑ๋์ด ๋ซํ๊ณ ๋ชจ๋ ๋ฉ์์ง๊ฐ ์ญ์ ๋๊ณ ์์ธ๊ฐ ๋ฐ์ํฉ๋๋ค. ๊ทธ๋ฌ๋ Chrome <= 36์์๋ ์์ธ๋ง ๋ฐ์ํฉ๋๋ค. ๋ฐ๋ผ์ ์ด๊ฒ์ Chrome 37์์ ์ํ๋ API ์ค๋จ ๋ณ๊ฒฝ์ ๋๋ค. ๊ฐ๋ฐ์๋ ์ด์ ๋ธ๋ผ์ฐ์ ๋ฅผ ๋ค๋ฃจ๋ ๊ฒฝ์ฐ ์ด ๋ณ๊ฒฝ์ ์ฃผ์ํด์ผ ํฉ๋๋ค.
์์ ์์ : ํฅํ ์ฐธ์กฐ๋ฅผ ์ํด 16MB๊ฐ ์๋๋ผ 16KB์ ๋๋ค. ๋๋ ๊ฐ์ ๋ฌธ์ ์ ์ง๋ฉดํ๋ค. Firefox ์ ํ์ ๋๋ต 16kiB(https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Using_data_channels#Understanding_message_size_limits)์ ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@UnsungHero97
์์ ์์ : ํฅํ ์ฐธ์กฐ๋ฅผ ์ํด 16MB๊ฐ ์๋๋ผ 16KB์ ๋๋ค. ๋๋ ๊ฐ์ ๋ฌธ์ ์ ์ง๋ฉดํ๋ค. Firefox ์ ํ์ ๋๋ต 16kiB(https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Using_data_channels#Understanding_message_size_limits)์ ๋๋ค.