DataChannel 만 사용하기

지난 11월 13일 배포된 버전 v1.0.1.02 인 PlayRTC JS SDK 는 비디오, 오디오 없이 DataChannel 만 사용할 수 있도록 업데이트 되었습니다. 그리고 다자간 DataChannel 을 사용시에 좀더 안정적으로 Data 를 교환할 수 있도록 보강되었습니다.

 

DataChannel 만 사용하기 위해서는 PlayRTC 객체 생성시 audio, video 를 사용하지 않겠다고 명시하고 dataChannel 만 사용하겠다고 명시합니다.


var conn = new PlayRTC({
     localVideoTarget: "localStream",
     remoteVideoTarget: "remoteStream",

     userMedia: {
          audio: false,
          video: false
     },
     dataChannelEnalbled: true

});

그리고 addDataStream 이라는 DataChannel 이 상호간에 연결되면 호출되는 이벤트를 기술 합니다. 해당 이벤트는 세개의 인자를 취합니다.

Name DataType Description
peerid String 연결된 상대방의 peerid
userid String 연결된 상대방의 userid
dataChannel PlayRTC.DataChannel dataChannel 의 PlayRTC 의 DataChannel Wrapper 객체
conn.on("addDataStream", function(peerid, userid, dataChannel){

});

이제 addDataStream 이벤트 내의 DataChannel 을 통한 메시지를 수신 할 수 있는 이벤트를 정의 하겠습니다.

Name Description
message DataChannel 을 통해 서로 데이터를 주고 받을 때, 상대방이 보낸 데이터를 수신하는 이벤트이다.
progress DataChannel 을 통해 서로 데이터를 주고 받을 때, 상대방이 보낸 데이터의 양이 클 경우 이를 분할하여 전송 받는다. 이 경우 전체 메시지의 크기와 현재 받은 크기를 헤더 정보에 포함하게 된다. Progress 이벤트는 이 헤더 정보를 바탕으로 사용자에게 progress 할 수 있게 해준다.
error 데이터를 주고 받을 때 에러가 발생되면 이벤트가 호출된다.
conn.on("addDataStream", function(peerid, userid, dataChannel){
      dataChannel.on("message", function(message){
            if(message.type === "text"){
            //text
                  console.log("userid = " + userid + " data = " + message.data);
            }
            else{
                  //file download
                  PlayRTC.utils.fileDownload(message.blob, message.fileName);
            }
      });

      dataChannel.on("progress", function(message){

      });
      dataChannel.on("error", function(e){

      });
});

마지막으로 www.playrtc.com 다운로드에서 v1.0.1.02 버전의 Sample1 예제를 다운 받아 실행해 보시면 새로운 예제가 추가되었습니다.
예제를 실행하시고 http://localhost:5400/datachat 을 크롬 또는 파이어폭스 브라우저로 실행하시면 오디오, 비디오 없이 DataChannel 만 사용하여 텍스트 및 파일 전송하는 예제를 확인해 볼 수 있습니다.

 

Play RTC

서비스 체험

Play RTC build PlaygrOund

나만의 플레이그라운드를 만들어 친구를 초대해보세요 !

www.playrtc.com/

번거로운 가입이나 설치 없이ID만 만들어서 영상통화나 파일 공유, 채팅 서비스를 무료로 즐겨보세요.

 

Play RTC

서비스 체험

개설한 Playground 주소를 복하해서 친구에게 보내조세요. 친구가 Playground에 접속하면 이곳에 친구의 영상과 음성이 나타납니다. Waiting..

Photo

X
이미지 미리보기
이미지
 

서비스 체험

 

서비스 체험

서비스 체험은 크롬과 파이어폭스 브라우저에 최적화되어 있습니다.
크롬 또는 파이어폭스 브라우저를 설치 후 다시 이용해주세요.