๋งํ๊ธฐ ์ด๋ ต์ต๋๋ค. CDN ๋งํฌ๊ฐ ๋ชจ๋ ์ฃฝ์๊ณ ์ค๋ซ๋์ ์ฃฝ์ ๊ฒ ๊ฐ์ต๋๋ค. ๋๋ถ๋ถ์ ์์ ๋ 404์ด๋ฉฐ ์ธ๋ถ ํธ์คํ
์์ ๋ CDN์ผ๋ก ์ธํด ์์๋์์ต๋๋ค. peer.js ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์๋์ผ๋ก ๋ค์ด๋ก๋ํ์ฌ ์ฌ์ฉํ ๋ ์๋ฌด ์์
๋ ์ํํ์ง ์์ต๋๋ค(๋ด peer.on
์ฝ๋ฐฑ์ ํธ์ถํ๊ฑฐ๋ ์น ์์ฒญ์ ํ์ง ์์). peerjs๋ฅผ ์ฌ์ฉํด์ผํฉ๋๊น ์๋๋ฉด ๋๋ฑํ ์๋น์ค๋ฅผ ์ฐพ์์ผํฉ๋๊น?
@jameshfisher ๊ทธ๊ฒ์ ๋๋ฅผ ์ํด ์๋ํฉ๋๋ค. ํฌ๋กฌ์ ์์ ํ์ง ์์ ์ถ์ฒ์์ getUserMedia๋ฅผ ์ฐจ๋จํ๊ณ ํ์ด์ด ํญ์ค์ ํฌ๋กฌ์ shim์ ๊ตฌ์ฑํ ๋ฐฉ์์ผ๋ก getUserMedia ํธ์ถ์ ์ง์ํ์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ ๋๋ฅผ ์ํ ๋์์ผ๋ก ์๋ํฉ๋๋ค.
function webrtc(onMedia,onError)
{
function notSupported(){};
var which = (navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || notSupported).name;
var args = {video: true, audio: true};
if(which !== 'notSupported'){
navigator[which](args,onMedia,onError);
}else{
onError('webrtc not supported');
}
}
onMedia ๋ฐ onError ์ฝ๋ฐฑ์ ์ ๋ฌํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ์ฌ์ด ๋งํ peasy.
์ฌ๋ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์๋ํ ํ Simple-peer ๊ฐ ๊ฐ์ฅ ์ข์ ๋์์ด๋ฉฐ ์ฌ๋ฌ ์๋ก์ด ์์ฉ ํ๋ก๊ทธ๋จ์์ ํ๋ก๋์ ์ ์ฌ์ฉ๋ฉ๋๋ค. ์ ๊ทน์ ์ผ๋ก ์ ์ง ๊ด๋ฆฌ๋๋ฉฐ ํฌ๊ธฐํ ๊ฐ๋ฅ์ฑ์ด ๊ฑฐ์ ์์ต๋๋ค.
์ฌ์ ๋ณ๊ฒฝ์ ๋ํด ๊ฑฑ์ ํ๋ ๋์ getusermedia ๋ฅผ ์ฌ์ฉํ์ญ์์ค.
์๊ฐ์ ํ๋ฌ๊ฐ๋๋ค. ํ๋ฅญํ ํ๋ก์ ํธ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
์๊ฐ์ ํ๋ฌ๊ฐ๋๋ค. ํ๋ฅญํ ํ๋ก์ ํธ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
ํ๋ก์ ํธ๋ ์ฃฝ์ง ์์๋ค)
์ฐ๋ฆฌ๋ ์ฝ๋๋ฒ ์ด์ค๋ฅผ typescript๋ก ์ ๊ทธ๋ ์ด๋ํ๊ณ ์ค๋๋ ๊ฒ์ ์ ๊ฑฐํ๊ธฐ ์์ํ์ต๋๋ค.
๋๋ ์ฐ๋ฆฌ๊ฐ ๊ทธ๊ฒ์ ๋์ด๋ฆด ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค
@afrokick ํ๋ก์ ํธ ์ํฉ์
.
ะะธะฒะต ะะตะปะฐัััั!
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
ํ๋ก์ ํธ๋ ์ฃฝ์ง ์์๋ค)
์ฐ๋ฆฌ๋ ์ฝ๋๋ฒ ์ด์ค๋ฅผ typescript๋ก ์ ๊ทธ๋ ์ด๋ํ๊ณ ์ค๋๋ ๊ฒ์ ์ ๊ฑฐํ๊ธฐ ์์ํ์ต๋๋ค.
๋๋ ์ฐ๋ฆฌ๊ฐ ๊ทธ๊ฒ์ ๋์ด๋ฆด ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค